diff options
author | Stefan Sperling <stsp@cvs.openbsd.org> | 2020-05-26 12:05:52 +0000 |
---|---|---|
committer | Stefan Sperling <stsp@cvs.openbsd.org> | 2020-05-26 12:05:52 +0000 |
commit | 1ac8cd4aaf5baaf8432a1fe3161bc660df0e4b65 (patch) | |
tree | d6f68db712db96a73ae57ccf7c20fa2709458f7c | |
parent | ed869086426ef05efe3b32de62f4383558ff79df (diff) |
Make the necessary adjustments to parse iwx(4) -48 firmware image files.
This does not switch to newer firmware yet. The driver currently fails to
send frames when -48 firmware is used. And the -48 firmware image is not
yet available in fw_update(1).
-rw-r--r-- | sys/dev/pci/if_iwx.c | 10 | ||||
-rw-r--r-- | sys/dev/pci/if_iwxvar.h | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/sys/dev/pci/if_iwx.c b/sys/dev/pci/if_iwx.c index 2a76ad746c0..14502e28332 100644 --- a/sys/dev/pci/if_iwx.c +++ b/sys/dev/pci/if_iwx.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_iwx.c,v 1.17 2020/05/26 11:59:48 stsp Exp $ */ +/* $OpenBSD: if_iwx.c,v 1.18 2020/05/26 12:05:51 stsp Exp $ */ /* * Copyright (c) 2014, 2016 genua gmbh <info@genua.de> @@ -1260,12 +1260,20 @@ iwx_read_firmware(struct iwx_softc *sc) case IWX_UCODE_TLV_FW_RECOVERY_INFO: break; + case IWX_UCODE_TLV_FW_FSEQ_VERSION: + break; + /* undocumented TLVs found in ax200-cc-a0-46 image */ case 58: case 0x1000003: case 0x1000004: break; + /* undocumented TLVs found in iwx-cc-a0-48 image */ + case 0x1000000: + case 0x1000002: + break; + default: err = EINVAL; goto parse_out; diff --git a/sys/dev/pci/if_iwxvar.h b/sys/dev/pci/if_iwxvar.h index 27d4c353069..7a0d1c61f77 100644 --- a/sys/dev/pci/if_iwxvar.h +++ b/sys/dev/pci/if_iwxvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_iwxvar.h,v 1.5 2020/05/26 11:59:48 stsp Exp $ */ +/* $OpenBSD: if_iwxvar.h,v 1.6 2020/05/26 12:05:51 stsp Exp $ */ /* * Copyright (c) 2014 genua mbh <info@genua.de> @@ -125,7 +125,7 @@ struct iwx_tx_radiotap_header { (1 << IEEE80211_RADIOTAP_CHANNEL) | \ (1 << IEEE80211_RADIOTAP_HWQUEUE)) -#define IWX_UCODE_SECT_MAX 39 +#define IWX_UCODE_SECT_MAX 42 #define IWX_FWDMASEGSZ (192*1024) #define IWX_FWDMASEGSZ_8000 (320*1024) /* sanity check value */ |