mac80211: backport latest patches except for NVRAM support
[openwrt.git] / package / kernel / mac80211 / patches / 311-brcmfmac-dhd_sdio.c-use-existing-atomic_or-primitive.patch
1 From: Vineet Gupta <Vineet.Gupta1@synopsys.com>
2 Date: Thu, 9 Jul 2015 13:43:18 +0530
3 Subject: [PATCH] brcmfmac: dhd_sdio.c: use existing atomic_or primitive
4
5 There's already a generic implementation so use that instead.
6
7 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
8 ---
9
10 --- a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
11 +++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
12 @@ -2564,15 +2564,6 @@ static inline void brcmf_sdio_clrintr(st
13         }
14  }
15  
16 -static void atomic_orr(int val, atomic_t *v)
17 -{
18 -       int old_val;
19 -
20 -       old_val = atomic_read(v);
21 -       while (atomic_cmpxchg(v, old_val, val | old_val) != old_val)
22 -               old_val = atomic_read(v);
23 -}
24 -
25  static int brcmf_sdio_intr_rstatus(struct brcmf_sdio *bus)
26  {
27         struct brcmf_core *buscore;
28 @@ -2595,7 +2586,7 @@ static int brcmf_sdio_intr_rstatus(struc
29         if (val) {
30                 brcmf_sdiod_regwl(bus->sdiodev, addr, val, &ret);
31                 bus->sdcnt.f1regdata++;
32 -               atomic_orr(val, &bus->intstatus);
33 +               atomic_or(val, &bus->intstatus);
34         }
35  
36         return ret;
37 @@ -2712,7 +2703,7 @@ static void brcmf_sdio_dpc(struct brcmf_
38  
39         /* Keep still-pending events for next scheduling */
40         if (intstatus)
41 -               atomic_orr(intstatus, &bus->intstatus);
42 +               atomic_or(intstatus, &bus->intstatus);
43  
44         brcmf_sdio_clrintr(bus);
45