diff options
author | Arend Van Spriel <arend.vanspriel@broadcom.com> | 2017-06-22 11:01:02 +0100 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2017-06-28 20:53:05 +0300 |
commit | a833f3d4de53921263f6a060dbff08d5af926ba7 (patch) | |
tree | 2689ac18aad7a0e2e6d741a294c28943dd25c075 /drivers/net/wireless/broadcom | |
parent | ca2e99b2cae99570cade884e800153f5a2928335 (diff) |
brcmfmac: use atomic_t for statistic counter in struct brcmf_bus
The statistic counter is used in common layer and in the bus layer
in different thread contexts so change to use atomic operations.
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Franky Lin <franky.lin@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/broadcom')
-rw-r--r-- | drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h index e2c895bc1e68..e1a4d9e0eb10 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h @@ -138,7 +138,7 @@ struct brcmf_bus { struct brcmf_pub *drvr; enum brcmf_bus_state state; uint maxctl; - unsigned long tx_realloc; + atomic_t tx_realloc; u32 chip; u32 chiprev; bool always_use_fws_queue; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c index fd7b5addc54f..eb67d7d5be9d 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -2046,7 +2046,7 @@ static int brcmf_sdio_txpkt_hdalign(struct brcmf_sdio *bus, struct sk_buff *pkt) head_pad = ((unsigned long)dat_buf % bus->head_align); if (head_pad) { if (skb_headroom(pkt) < head_pad) { - bus->sdiodev->bus_if->tx_realloc++; + atomic_inc(&bus->sdiodev->bus_if->tx_realloc); head_pad = 0; if (skb_cow(pkt, head_pad)) return -ENOMEM; |