Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331

This commit is contained in:
John W. Linville 2011-11-11 10:03:43 -05:00
parent 9b8fcc47a0
commit 2be5490569
3 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,35 @@
Simple patch to remove the overlap between the bcma (i.e. b43) driver
and the brcmsmac driver. David Woodhouse <dwmw2@infradead.org>
confirmed that this patch restores functionality of bcm4331 devices.
-- John W. Linville <linville@redhat.com>
diff -up linux-3.1.x86_64/drivers/bcma/host_pci.c.orig linux-3.1.x86_64/drivers/bcma/host_pci.c
--- linux-3.1.x86_64/drivers/bcma/host_pci.c.orig 2011-11-10 11:41:26.829742757 -0500
+++ linux-3.1.x86_64/drivers/bcma/host_pci.c 2011-11-10 11:41:22.884792078 -0500
@@ -225,11 +225,13 @@ static void bcma_host_pci_remove(struct
}
static DEFINE_PCI_DEVICE_TABLE(bcma_pci_bridge_tbl) = {
- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x0576) },
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4331) },
+#if 0 /* Not in Fedora... */
+ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x0576) },
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4353) },
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4357) },
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4727) },
+#endif
{ 0, },
};
MODULE_DEVICE_TABLE(pci, bcma_pci_bridge_tbl);
diff -up linux-3.1.x86_64/drivers/net/wireless/brcm80211/Kconfig.orig linux-3.1.x86_64/drivers/net/wireless/brcm80211/Kconfig
--- linux-3.1.x86_64/drivers/net/wireless/brcm80211/Kconfig.orig 2011-11-10 11:42:31.764930961 -0500
+++ linux-3.1.x86_64/drivers/net/wireless/brcm80211/Kconfig 2011-11-10 11:42:33.613907846 -0500
@@ -5,7 +5,6 @@ config BRCMSMAC
tristate "Broadcom IEEE802.11n PCIe SoftMAC WLAN driver"
depends on PCI
depends on MAC80211
- depends on BCMA=n
select BRCMUTIL
select FW_LOADER
select CRC_CCITT

View File

@ -1557,6 +1557,7 @@ CONFIG_B43=m
CONFIG_B43_PCMCIA=y
CONFIG_B43_SDIO=y
CONFIG_B43_BCMA=y
CONFIG_B43_BCMA_PIO=y
CONFIG_B43_DEBUG=y
CONFIG_B43_PHY_LP=y
CONFIG_B43_PHY_N=y
@ -4675,7 +4676,11 @@ CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
CONFIG_TEST_KSTRTOX=m
# CONFIG_BCMA is not set
CONFIG_BCMA=m
CONFIG_BCMA_BLOCKIO=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA_DEBUG is not set
# CONFIG_GOOGLE_FIRMWARE is not set
CONFIG_INTEL_MID_PTI=m

View File

@ -704,6 +704,8 @@ Patch21070: oom-fix-integer-overflow-of-points.patch
Patch21080: sysfs-msi-irq-per-device.patch
Patch21090: bcma-brcmsmac-compat.patch
%endif
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@ -1340,6 +1342,9 @@ ApplyPatch oom-fix-integer-overflow-of-points.patch
# Add msi irq ennumeration in sysfs for devices
ApplyPatch sysfs-msi-irq-per-device.patch
# Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331
ApplyPatch bcma-brcmsmac-compat.patch
# END OF PATCH APPLICATIONS
%endif
@ -2046,6 +2051,9 @@ fi
# ||----w |
# || ||
%changelog
* Fri Nov 11 2011 John W. Linville <linville@redhat.com>
- Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331
* Thu Nov 10 2011 Josh Boyer <jwboyer@redhat.com>
- Linux 3.2-rc1-git2