summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Sperling <stsp@cvs.openbsd.org>2020-05-26 12:05:52 +0000
committerStefan Sperling <stsp@cvs.openbsd.org>2020-05-26 12:05:52 +0000
commit1ac8cd4aaf5baaf8432a1fe3161bc660df0e4b65 (patch)
treed6f68db712db96a73ae57ccf7c20fa2709458f7c
parented869086426ef05efe3b32de62f4383558ff79df (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.c10
-rw-r--r--sys/dev/pci/if_iwxvar.h4
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 */