diff options
| author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-04-14 12:12:22 +0000 | 
|---|---|---|
| committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-04-14 12:12:22 +0000 | 
| commit | 6f210a8c76f7dde7bb7656ed6a79ff903f8fd5b3 (patch) | |
| tree | 628b58335695ba713516d2117dd12920467e0d1a | |
| parent | d99cff1ce15b22033eabee6a1f72eec2cf934501 (diff) | |
brcm47xx: fix a bug in the sprom handling of bcma, this broke all bcma based SoCs.
bcma: use fallback sprom if no on chip sprom is available
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31285 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | target/linux/brcm47xx/patches-3.2/060-bcma-use-fallback-sprom-if-no-on-chip-sprom-is-avail.patch | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/target/linux/brcm47xx/patches-3.2/060-bcma-use-fallback-sprom-if-no-on-chip-sprom-is-avail.patch b/target/linux/brcm47xx/patches-3.2/060-bcma-use-fallback-sprom-if-no-on-chip-sprom-is-avail.patch new file mode 100644 index 000000000..abc638d24 --- /dev/null +++ b/target/linux/brcm47xx/patches-3.2/060-bcma-use-fallback-sprom-if-no-on-chip-sprom-is-avail.patch @@ -0,0 +1,24 @@ +--- a/drivers/bcma/sprom.c ++++ b/drivers/bcma/sprom.c +@@ -404,16 +404,19 @@ int bcma_sprom_get(struct bcma_bus *bus) + 		return -EOPNOTSUPP; +  + 	if (!bcma_sprom_ext_available(bus)) { ++		bool sprom_onchip; ++ + 		/* + 		 * External SPROM takes precedence so check + 		 * on-chip OTP only when no external SPROM + 		 * is present. + 		 */ +-		if (bcma_sprom_onchip_available(bus)) { ++		sprom_onchip = bcma_sprom_onchip_available(bus); ++		if (sprom_onchip) { + 			/* determine offset */ + 			offset = bcma_sprom_onchip_offset(bus); + 		} +-		if (!offset) { ++		if (!offset || !sprom_onchip) { + 			/* + 			 * Maybe there is no SPROM on the device? + 			 * Now we ask the arch code if there is some sprom | 
