b43: Add more btcoexist workarounds
PATCH 1/1 b43: Add more btcoexist workarounds
This adds more workarounds for devices with broken BT bits.
Signed-off-by Michael Buesch <[email protected]>
---
John, this is for 2.6.26
drivers/net/wireless/b43/main.c +9 -4
@@ -4420,12 +4420,18 @@ static int b43_one_core_attach(struct ss err_kfree_wldev:kfree (wldev);return 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;/* boardflags workarounds */ if (bus->boardinfo.vendor == SSB_BOARDVENDOR_DELL &&
@@ -4433,16 +4439,15 @@ static void b43_sprom_fixup(struct ssb_b bus->sprom.boardflags_lo |=B43_BFL_BTCOEXIST ;if (bus->boardinfo.vendor ==PCI_VENDOR_ID_APPLE && bus->boardinfo.type ==0x4E && bus->boardinfo.rev >0x40 ) 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 ; } }static void b43_wireless_exit (struct ssb_device *dev,struct b43_wl *wl) {