brcmfmac: reinitialize dequeue mask per node
authorArend van Spriel <arend@broadcom.com>
Wed, 17 Apr 2013 19:25:49 +0000 (21:25 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 22 Apr 2013 19:20:20 +0000 (15:20 -0400)
The mask was only initialized for the first node, but it should be
done for each node that is handled in the loop.

Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c

index 1bcd58ce4a2f22cc3aeffdd9308406c3246efdbf..9dae8fcea2c5f4ab5e75819571d6bf8892905f4d 100644 (file)
@@ -1070,7 +1070,7 @@ static struct sk_buff *brcmf_fws_deq(struct brcmf_fws_info *fws, int fifo)
        int num_nodes;
        int node_pos;
        int prec_out;
-       int pmsk = 3;
+       int pmsk;
        int i;
 
        table = (struct brcmf_fws_mac_descriptor *)&fws->desc;
@@ -1084,6 +1084,8 @@ static struct sk_buff *brcmf_fws_deq(struct brcmf_fws_info *fws, int fifo)
 
                if (entry->suppressed)
                        pmsk = 2;
+               else
+                       pmsk = 3;
                p = brcmu_pktq_mdeq(&entry->psq, pmsk << (fifo * 2), &prec_out);
                if (p == NULL) {
                        if (entry->suppressed) {