git: 1110ed3b46ea - main - iwx: Use subdevice for comparison
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 14 Apr 2025 08:17:16 UTC
The branch main has been updated by thj:
URL: https://cgit.FreeBSD.org/src/commit/?id=1110ed3b46ea2765fd45ebfb4e0f0fd997ecb92e
commit 1110ed3b46ea2765fd45ebfb4e0f0fd997ecb92e
Author: Tom Jones <thj@FreeBSD.org>
AuthorDate: 2025-04-14 08:10:48 +0000
Commit: Tom Jones <thj@FreeBSD.org>
CommitDate: 2025-04-14 08:16:40 +0000
iwx: Use subdevice for comparison
iwx goes through a couple of steps to match devices to firmware. There
is a default match of pcie device and subdevices and then a secondary
pass to find a template configuration struct.
Previously we were looking up the device not the subdevice and that
led to ax210 cards in some devices (Framework 13) from being matched to
the correct firmware.
PR: 285905
Reviewed by: bz, adrian
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D49759
---
sys/dev/iwx/if_iwx.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/sys/dev/iwx/if_iwx.c b/sys/dev/iwx/if_iwx.c
index 9e5d5a9569d5..6d3aa1b49c15 100644
--- a/sys/dev/iwx/if_iwx.c
+++ b/sys/dev/iwx/if_iwx.c
@@ -10022,12 +10022,11 @@ out:
const struct iwx_device_cfg *
iwx_find_device_cfg(struct iwx_softc *sc)
{
- uint16_t mac_type, rf_type;
+ uint16_t sdev_id, mac_type, rf_type;
uint8_t mac_step, cdb, jacket, rf_id, no_160, cores;
int i;
- uint16_t sdev_id;
- sdev_id = pci_get_device(sc->sc_dev);
+ sdev_id = pci_get_subdevice(sc->sc_dev);
mac_type = IWX_CSR_HW_REV_TYPE(sc->sc_hw_rev);
mac_step = IWX_CSR_HW_REV_STEP(sc->sc_hw_rev << 2);
rf_type = IWX_CSR_HW_RFID_TYPE(sc->sc_hw_rf_id);