]>
Commit | Line | Data |
---|---|---|
7d3da018 GKH |
1 | From stable-bounces@linux.kernel.org Thu Apr 24 17:15:44 2008 |
2 | From: Michael Buesch <mb@bu3sch.de> | |
3 | Date: Thu, 24 Apr 2008 20:04:38 +0200 | |
4 | Subject: b43: Add more btcoexist workarounds | |
5 | To: stable@kernel.org | |
6 | Cc: linux-wireless@vger.kernel.org, bcm43xx-dev@lists.berlios.de | |
7 | Message-ID: <200804242004.39249.mb@bu3sch.de> | |
8 | Content-Disposition: inline | |
9 | ||
10 | From: Michael Buesch <mb@bu3sch.de> | |
11 | ||
12 | commit 9fc38458355525f801cd2ab403ac89850489a05e upstream | |
13 | ||
14 | This adds more workarounds for devices with broken BT bits. | |
15 | ||
16 | Signed-off-by: Michael Buesch <mb@bu3sch.de> | |
17 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | |
18 | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | |
19 | ||
20 | --- | |
21 | drivers/net/wireless/b43/main.c | 13 +++++++++---- | |
22 | 1 file changed, 9 insertions(+), 4 deletions(-) | |
23 | ||
24 | --- a/drivers/net/wireless/b43/main.c | |
25 | +++ b/drivers/net/wireless/b43/main.c | |
26 | @@ -4009,6 +4009,12 @@ static int b43_one_core_attach(struct ss | |
27 | return err; | |
28 | } | |
29 | ||
30 | +#define IS_PDEV(pdev, _vendor, _device, _subvendor, _subdevice) ( \ | |
31 | + (pdev->vendor == PCI_VENDOR_ID_##_vendor) && \ | |
32 | + (pdev->device == _device) && \ | |
33 | + (pdev->subsystem_vendor == PCI_VENDOR_ID_##_subvendor) && \ | |
34 | + (pdev->subsystem_device == _subdevice) ) | |
35 | + | |
36 | static void b43_sprom_fixup(struct ssb_bus *bus) | |
37 | { | |
38 | struct pci_dev *pdev; | |
39 | @@ -4022,10 +4028,9 @@ static void b43_sprom_fixup(struct ssb_b | |
40 | bus->sprom.boardflags_lo |= B43_BFL_PACTRL; | |
41 | if (bus->bustype == SSB_BUSTYPE_PCI) { | |
42 | pdev = bus->host_pci; | |
43 | - if (pdev->vendor == PCI_VENDOR_ID_BROADCOM && | |
44 | - pdev->device == 0x4318 && | |
45 | - pdev->subsystem_vendor == PCI_VENDOR_ID_ASUSTEK && | |
46 | - pdev->subsystem_device == 0x100F) | |
47 | + if (IS_PDEV(pdev, BROADCOM, 0x4318, ASUSTEK, 0x100F) || | |
48 | + IS_PDEV(pdev, BROADCOM, 0x4320, LINKSYS, 0x0015) || | |
49 | + IS_PDEV(pdev, BROADCOM, 0x4320, LINKSYS, 0x0013)) | |
50 | bus->sprom.boardflags_lo &= ~B43_BFL_BTCOEXIST; | |
51 | } | |
52 | } |