]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/2.6.25.1/b43-add-more-btcoexist-workarounds.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 2.6.25.1 / b43-add-more-btcoexist-workarounds.patch
CommitLineData
7d3da018
GKH
1From stable-bounces@linux.kernel.org Thu Apr 24 17:15:44 2008
2From: Michael Buesch <mb@bu3sch.de>
3Date: Thu, 24 Apr 2008 20:04:38 +0200
4Subject: b43: Add more btcoexist workarounds
5To: stable@kernel.org
6Cc: linux-wireless@vger.kernel.org, bcm43xx-dev@lists.berlios.de
7Message-ID: <200804242004.39249.mb@bu3sch.de>
8Content-Disposition: inline
9
10From: Michael Buesch <mb@bu3sch.de>
11
12commit 9fc38458355525f801cd2ab403ac89850489a05e upstream
13
14This adds more workarounds for devices with broken BT bits.
15
16Signed-off-by: Michael Buesch <mb@bu3sch.de>
17Signed-off-by: John W. Linville <linville@tuxdriver.com>
18Signed-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 }