forked from Minki/linux
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:
parent
ca2e99b2ca
commit
a833f3d4de
@ -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;
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user