]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
brcmsmac: do a read after the write of the objmem on broken PCIe controllers
authorHauke Mehrtens <hauke@hauke-m.de>
Fri, 7 Dec 2012 16:04:13 +0000 (17:04 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 10 Dec 2012 20:47:30 +0000 (15:47 -0500)
As described in the documentation of bcma_wflush16 in drivers/net
/wireless/brcm80211/brcmsmac/types.h some PCIe controllers of Broadcom
SoCs are broken. The PCIe controller on these SoCs are mostly used to
connect some additional wifi device to the SoC and some of these wifi
devices are supported by brcmsmac.
For my BCM43224 connected to the broken PCIe controller of the BCM4718 I
need an extra read after write in brcms_b_write_objmem() to prevent a
Data bus error. This fixes the problem reading tsf_random later.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/brcm80211/brcmsmac/main.c

index cb48fc479443ccec7e8300d129e77ea95b97a81e..2599cd0cd667f7736dc0a10823cc0d5b87d6282b 100644 (file)
@@ -2920,7 +2920,7 @@ brcms_b_write_objmem(struct brcms_hardware *wlc_hw, uint offset, u16 v,
        if (offset & 2)
                objoff += 2;
 
-       bcma_write16(core, objoff, v);
+       bcma_wflush16(core, objoff, v);
 }
 
 /*