Commit 16c929df authored by Yogesh Ashok Powar's avatar Yogesh Ashok Powar Committed by John W. Linville

mwl8k: Fixing sta dereference when ieee80211_tx_info->control.sta is NULL

Following oops was seen on SMP machine

>BUG: unable to handle kernel NULL pointer dereference at 00000012
>IP: [<f8c56691>] mwl8k_tx+0x20e/0x561 [mwl8k]
>*pde = 00000000
>Oops: 0000 [#1] SMP
>Modules linked in: mwl8k mac80211 cfg80211 [last unloaded: cfg80211]

As ieee80211_tx_info->control.sta may be NULL during ->tx call, avoiding sta
dereference in such scenario with the following patch.
Signed-off-by: default avatarYogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 5a865bad
...@@ -1891,9 +1891,9 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw, int index, struct sk_buff *skb) ...@@ -1891,9 +1891,9 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw, int index, struct sk_buff *skb)
txpriority = index; txpriority = index;
if (ieee80211_is_data_qos(wh->frame_control) && if (priv->ap_fw && sta && sta->ht_cap.ht_supported
skb->protocol != cpu_to_be16(ETH_P_PAE) && && skb->protocol != cpu_to_be16(ETH_P_PAE)
sta->ht_cap.ht_supported && priv->ap_fw) { && ieee80211_is_data_qos(wh->frame_control)) {
tid = qos & 0xf; tid = qos & 0xf;
mwl8k_tx_count_packet(sta, tid); mwl8k_tx_count_packet(sta, tid);
spin_lock(&priv->stream_lock); spin_lock(&priv->stream_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment