rtlwifi: Fix oops on rate-control failure
authorLarry Finger <Larry.Finger@lwfinger.net>
Fri, 6 Apr 2012 21:54:17 +0000 (16:54 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 9 Apr 2012 19:54:49 +0000 (15:54 -0400)
When the rate-control indexing is incorrectly set up, mac80211 issues
a warning and returns NULL from the call to ieee80211_get_tx_rate().
When this happens, avoid a NULL pointer dereference.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

drivers/net/wireless/rtlwifi/base.c

index 5100235..e54488d 100644 (file)
@@ -838,7 +838,10 @@ void rtl_get_tcb_desc(struct ieee80211_hw *hw,
        __le16 fc = hdr->frame_control;
 
        txrate = ieee80211_get_tx_rate(hw, info);
-       tcb_desc->hw_rate = txrate->hw_value;
+       if (txrate)
+               tcb_desc->hw_rate = txrate->hw_value;
+       else
+               tcb_desc->hw_rate = 0;
 
        if (ieee80211_is_data(fc)) {
                /*