aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ssb/scan.c
diff options
context:
space:
mode:
authorMichael Büsch <mb@bu3sch.de>2011-01-07 13:48:05 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-01-10 15:40:53 -0500
commited70c6e60ee51b0fb46752ab4fd372a071da59d8 (patch)
tree6f99d4daf81b3d18ac7525cc722133c684f691c2 /drivers/ssb/scan.c
parent3b5c5827d1f80ad8ae844a8b1183f59ddb90fe25 (diff)
ssb: Ignore dangling ethernet cores on wireless devices
Some Broadcom based wireless devices contain dangling ethernet cores. This triggers the ssb probing mechanism and tries to load the b44 driver on this core. Ignore the dangling core in the ssb core scanning code to avoid access to the core and failure of b44 probing. Signed-off-by: Michael Buesch <mb@bu3sch.de> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/ssb/scan.c')
-rw-r--r--drivers/ssb/scan.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/ssb/scan.c b/drivers/ssb/scan.c
index 5a0985d4ce15..29884c00c4d5 100644
--- a/drivers/ssb/scan.c
+++ b/drivers/ssb/scan.c
@@ -420,6 +420,16 @@ int ssb_bus_scan(struct ssb_bus *bus,
420 bus->pcicore.dev = dev; 420 bus->pcicore.dev = dev;
421#endif /* CONFIG_SSB_DRIVER_PCICORE */ 421#endif /* CONFIG_SSB_DRIVER_PCICORE */
422 break; 422 break;
423 case SSB_DEV_ETHERNET:
424 if (bus->bustype == SSB_BUSTYPE_PCI) {
425 if (bus->host_pci->vendor == PCI_VENDOR_ID_BROADCOM &&
426 (bus->host_pci->device & 0xFF00) == 0x4300) {
427 /* This is a dangling ethernet core on a
428 * wireless device. Ignore it. */
429 continue;
430 }
431 }
432 break;
423 default: 433 default:
424 break; 434 break;
425 } 435 }