linux-hardened/drivers/ssb
John W. Linville d53cdbb94a ssb: do not read SPROM if it does not exist
Attempting to read registers that don't exist on the SSB bus can cause
hangs on some boxes.  At least some b43 devices are 'in the wild' that
don't have SPROMs at all.  When the SSB bus support loads, it attempts
to read these (non-existant) SPROMs and causes hard hangs on the box --
no console output, etc.

This patch adds some intelligence to determine whether or not the SPROM
is present before attempting to read it.  This avoids those hard hangs
on those devices with no SPROM attached to their SSB bus.  The
SSB-attached devices (e.g. b43, et al.) won't work, but at least the box
will survive to test further patches. :-)

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Michael Buesch <mb@bu3sch.de>
2010-04-26 13:50:54 -04:00
..
b43_pci_bridge.c b43: Add BCM4307 PCI-ID 2009-03-27 20:13:20 -04:00
driver_chipcommon.c ssb: do not read SPROM if it does not exist 2010-04-26 13:50:54 -04:00
driver_chipcommon_pmu.c ssb: Add PCI ID 0x4322 to PHU handling 2010-02-19 15:52:51 -05:00
driver_extif.c ssb: Make the GPIO API reentrancy safe 2008-02-20 20:11:49 -05:00
driver_gige.c ssb: Add Gigabit Ethernet driver 2008-03-06 17:09:43 -05:00
driver_mipscore.c ssb: fix interrupt assignment 2010-02-08 16:50:54 -05:00
driver_pcicore.c ssb: Put host pointers into a union 2009-10-27 16:47:55 -04:00
embedded.c SSB: BCM47xx: Export ssb_watchdog_timer_set 2009-06-08 16:57:50 +01:00
Kconfig ssb: Implement SDIO host bus support 2009-09-09 11:19:00 -04:00
main.c ssb: Fix CONFIG_SSB_SDIOHOST typo 2010-02-03 16:55:20 -05:00
Makefile ssb: Implement SDIO host bus support 2009-09-09 11:19:00 -04:00
pci.c ssb: do not read SPROM if it does not exist 2010-04-26 13:50:54 -04:00
pcihost_wrapper.c ssb: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-21 11:06:03 -05:00
pcmcia.c pcmcia: convert ssb pcmcia driver to use new CIS helpers 2009-11-08 18:23:09 +01:00
scan.c ssb: Unconditionally log results of core scans 2009-11-23 17:05:28 -05:00
sdio.c ssb/sdio: fix printk format warnings 2009-09-16 16:21:00 -04:00
sprom.c ssb: do not read SPROM if it does not exist 2010-04-26 13:50:54 -04:00
ssb_private.h ssb: fix typo in ifdef comment 2010-02-15 16:12:53 -05:00