b43: Add more btcoexist workarounds
PATCH 3/4 b43: Add more btcoexist workarounds
This adds more workarounds for devices with broken BT bits.
This patch is in wireless-testing.git, commit4b43b16f74b362d4d2ce7df5b761eb838dfd5d32
Signed-off-by Michael Buesch <[email protected]>
drivers/net/wireless/b43/main.c +9 -4
@@ -4009,6 +4009,12 @@ static int b43_one_core_attach(struct ssreturn err; } +#define IS_PDEV (pdev, _vendor, _device, _subvendor, _subdevice) ( \ + (pdev->vendor == PCI_VENDOR_ID_##_vendor) && \ + (pdev->device == _device) && \ + (pdev->subsystem_vendor == PCI_VENDOR_ID_##_subvendor) && \ + (pdev->subsystem_device == _subdevice) ) +static void b43_sprom_fixup (struct ssb_bus *bus) {struct pci_dev *pdev;
@@ -4022,10 +4028,9 @@ static void b43_sprom_fixup(struct ssb_b bus->sprom.boardflags_lo |=B43_BFL_PACTRL ;if (bus->bustype ==SSB_BUSTYPE_PCI ) { pdev = bus->host_pci; -if (pdev->vendor ==PCI_VENDOR_ID_BROADCOM && - pdev->device ==0x4318 && - pdev->subsystem_vendor ==PCI_VENDOR_ID_ASUSTEK && - pdev->subsystem_device ==0x100F ) +if (IS_PDEV (pdev,BROADCOM ,0x4318 ,ASUSTEK ,0x100F ) || +IS_PDEV (pdev,BROADCOM ,0x4320 ,LINKSYS ,0x0015 ) || +IS_PDEV (pdev,BROADCOM ,0x4320 ,LINKSYS ,0x0013 )) bus->sprom.boardflags_lo &= ~B43_BFL_BTCOEXIST ; } }