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>
This commit is contained in:
Arend Van Spriel 2017-06-22 11:01:02 +01:00 committed by Kalle Valo
parent ca2e99b2ca
commit a833f3d4de
2 changed files with 2 additions and 2 deletions

View File

@ -138,7 +138,7 @@ struct brcmf_bus {
struct brcmf_pub *drvr; struct brcmf_pub *drvr;
enum brcmf_bus_state state; enum brcmf_bus_state state;
uint maxctl; uint maxctl;
unsigned long tx_realloc; atomic_t tx_realloc;
u32 chip; u32 chip;
u32 chiprev; u32 chiprev;
bool always_use_fws_queue; bool always_use_fws_queue;

View File

@ -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); head_pad = ((unsigned long)dat_buf % bus->head_align);
if (head_pad) { if (head_pad) {
if (skb_headroom(pkt) < 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; head_pad = 0;
if (skb_cow(pkt, head_pad)) if (skb_cow(pkt, head_pad))
return -ENOMEM; return -ENOMEM;