staging: brcm80211: fix for 'AC_BE txop..' logs spammed problem
authorRoland Vossen <rvossen@broadcom.com>
Fri, 25 Mar 2011 09:23:08 +0000 (10:23 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 5 Apr 2011 05:43:16 +0000 (22:43 -0700)
Larry Finger reported this issue. The driver, under certain
conditions, spews log messages like this:

wl0: wlc_d11hdrs_mac80211: AC_BE txop exceeded phylen 159/256
 dur 1778/1504

These log messages turned out to be false alarms. Root cause was
that the AC was derived from the sk_buff::priority field. Fix was
to derive the AC from the sk_buff using skb_get_queue_mapping()

Signed-off-by: Roland Vossen <rvossen@broadcom.com>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/brcm80211/brcmsmac/wlc_main.c

index 639b5d7c9603214e182948f4bd0444f12ea3948a..181a626d1984c9b120d133c2b4aae22f1c3c9fd1 100644 (file)
@@ -6283,7 +6283,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw,
               ((preamble_type[1] == WLC_MM_PREAMBLE) ==
                (txh->MModeFbrLen != 0)));
 
-       ac = wme_fifo2ac[queue];
+       ac = skb_get_queue_mapping(p);
        if (SCB_WME(scb) && qos && wlc->edcf_txop[ac]) {
                uint frag_dur, dur, dur_fallback;