aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2012-04-14 12:12:22 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2012-04-14 12:12:22 +0000
commit7475bb3dc60a5c94c73035b890b7ef648cd32bdb (patch)
tree8378a4123d7fbd84ab508183e1e63f644209d910 /target/linux/brcm47xx
parentc76ff410800c0c60ab078ec55cc404817cf6df4c (diff)
downloadupstream-7475bb3dc60a5c94c73035b890b7ef648cd32bdb.tar.gz
upstream-7475bb3dc60a5c94c73035b890b7ef648cd32bdb.tar.bz2
upstream-7475bb3dc60a5c94c73035b890b7ef648cd32bdb.zip
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 SVN-Revision: 31285
Diffstat (limited to 'target/linux/brcm47xx')
-rw-r--r--target/linux/brcm47xx/patches-3.2/060-bcma-use-fallback-sprom-if-no-on-chip-sprom-is-avail.patch24
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 0000000000..abc638d244
--- /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