mirror of
https://github.com/torvalds/linux.git
synced 2024-12-16 08:02:17 +00:00
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: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
5a865bad44
commit
16c929df08
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user