summaryrefslogtreecommitdiffstats
path: root/drivers/ssb
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-11-11 11:38:16 -0800
committerDavid S. Miller <davem@davemloft.net>2009-11-11 11:38:16 -0800
commit2071a0084a0323697b7d6fd5a98982194bd6929f (patch)
treecfa228cd187f600fd93b858b46e656bb24b0020e /drivers/ssb
parentff879eb611dba859c4349048a32789e8c82afa91 (diff)
parentd01032e4fd33110f9f3a085a36cb819c1dfc5827 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/wireless/iwlwifi/iwl-1000.c drivers/net/wireless/iwlwifi/iwl-6000.c drivers/net/wireless/iwlwifi/iwl-core.h
Diffstat (limited to 'drivers/ssb')
-rw-r--r--drivers/ssb/scan.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/ssb/scan.c b/drivers/ssb/scan.c
index b74212d698c..e8b89e8ac9b 100644
--- a/drivers/ssb/scan.c
+++ b/drivers/ssb/scan.c
@@ -162,6 +162,8 @@ static u8 chipid_to_nrcores(u16 chipid)
static u32 scan_read32(struct ssb_bus *bus, u8 current_coreidx,
u16 offset)
{
+ u32 lo, hi;
+
switch (bus->bustype) {
case SSB_BUSTYPE_SSB:
offset += current_coreidx * SSB_CORE_SIZE;
@@ -174,7 +176,9 @@ static u32 scan_read32(struct ssb_bus *bus, u8 current_coreidx,
offset -= 0x800;
} else
ssb_pcmcia_switch_segment(bus, 0);
- break;
+ lo = readw(bus->mmio + offset);
+ hi = readw(bus->mmio + offset + 2);
+ return lo | (hi << 16);
case SSB_BUSTYPE_SDIO:
offset += current_coreidx * SSB_CORE_SIZE;
return ssb_sdio_scan_read32(bus, offset);