38 lines
1 KiB
Diff
38 lines
1 KiB
Diff
|
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)
|