aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/bcma/host_soc.c
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2014-08-22 08:44:52 +0200
committerJohn W. Linville <linville@tuxdriver.com>2014-08-28 14:41:56 -0400
commitecf47e9bb796558423fa87b43a8fe55f086ca56e (patch)
treec73bdc4cc0126d0d47faf4bfff8841f24e2a36be /drivers/bcma/host_soc.c
parentmwifiex: use firmware API revision from GET_HW_SPEC response (diff)
downloadwireguard-linux-ecf47e9bb796558423fa87b43a8fe55f086ca56e.tar.xz
wireguard-linux-ecf47e9bb796558423fa87b43a8fe55f086ca56e.zip
bcma: only map wrapper if its address is available
The Chipcommon B core does not have a wrap address and it would fail here. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/bcma/host_soc.c')
-rw-r--r--drivers/bcma/host_soc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/bcma/host_soc.c b/drivers/bcma/host_soc.c
index 3475e600011a..1edd7e064621 100644
--- a/drivers/bcma/host_soc.c
+++ b/drivers/bcma/host_soc.c
@@ -134,12 +134,16 @@ static void bcma_host_soc_block_write(struct bcma_device *core,
static u32 bcma_host_soc_aread32(struct bcma_device *core, u16 offset)
{
+ if (WARN_ONCE(!core->io_wrap, "Accessed core has no wrapper/agent\n"))
+ return ~0;
return readl(core->io_wrap + offset);
}
static void bcma_host_soc_awrite32(struct bcma_device *core, u16 offset,
u32 value)
{
+ if (WARN_ONCE(!core->io_wrap, "Accessed core has no wrapper/agent\n"))
+ return;
writel(value, core->io_wrap + offset);
}