aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/patches-3.0/0009-bcma-add-check-if-sprom-is-available-before-accessin.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2011-06-28 22:21:57 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2011-06-28 22:21:57 +0000
commit4c18da3df65146d5148dc241c7b6cd1ccc2bcee8 (patch)
tree03eb26311c9d4c410cb9180ccc08a4e00a22433b /target/linux/brcm47xx/patches-3.0/0009-bcma-add-check-if-sprom-is-available-before-accessin.patch
parent3f0eed15a2c8140943f66e31806054c7550377ae (diff)
downloadupstream-4c18da3df65146d5148dc241c7b6cd1ccc2bcee8.tar.gz
upstream-4c18da3df65146d5148dc241c7b6cd1ccc2bcee8.tar.bz2
upstream-4c18da3df65146d5148dc241c7b6cd1ccc2bcee8.zip
brcm47xx: add initial support for devices with bcma bus.
Ethernet and wifi are not working and this is highly experimental. SVN-Revision: 27301
Diffstat (limited to 'target/linux/brcm47xx/patches-3.0/0009-bcma-add-check-if-sprom-is-available-before-accessin.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.0/0009-bcma-add-check-if-sprom-is-available-before-accessin.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-3.0/0009-bcma-add-check-if-sprom-is-available-before-accessin.patch b/target/linux/brcm47xx/patches-3.0/0009-bcma-add-check-if-sprom-is-available-before-accessin.patch
new file mode 100644
index 0000000000..931b6e3d0e
--- /dev/null
+++ b/target/linux/brcm47xx/patches-3.0/0009-bcma-add-check-if-sprom-is-available-before-accessin.patch
@@ -0,0 +1,37 @@
+From 5972feafaa3c71c1497b4ef4101b3c6855b7b64e Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sun, 19 Jun 2011 19:14:11 +0200
+Subject: [PATCH 09/14] bcma: add check if sprom is available before accessing it.
+
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ drivers/bcma/main.c | 4 +++-
+ drivers/bcma/sprom.c | 3 +++
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+--- a/drivers/bcma/main.c
++++ b/drivers/bcma/main.c
+@@ -160,7 +160,9 @@ int bcma_bus_register(struct bcma_bus *b
+
+ /* Try to get SPROM */
+ err = bcma_sprom_get(bus);
+- if (err) {
++ if (err == -ENOENT) {
++ pr_err("No SPROM available\n");
++ } else if (err) {
+ pr_err("Failed to get SPROM: %d\n", err);
+ return -ENOENT;
+ }
+--- a/drivers/bcma/sprom.c
++++ b/drivers/bcma/sprom.c
+@@ -143,6 +143,9 @@ int bcma_sprom_get(struct bcma_bus *bus)
+ if (!bus->drv_cc.core)
+ return -EOPNOTSUPP;
+
++ if (!(bus->drv_cc.capabilities & BCMA_CC_CAP_SPROM))
++ return -ENOENT;
++
+ sprom = kcalloc(SSB_SPROMSIZE_WORDS_R4, sizeof(u16),
+ GFP_KERNEL);
+ if (!sprom)