Commit 2e04fc83 authored by Larry Finger's avatar Larry Finger Committed by Greg Kroah-Hartman

staging: r8712u: Fix potential crash issue

When the driver received the Addba request frame from AP, a crash could
occur.
Signed-off-by: default avatarAlbert Wang <albert_wang@realtek.com.tw>
Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d19b8647
...@@ -1036,21 +1036,19 @@ void r8712_got_addbareq_event_callback(struct _adapter *adapter, u8 *pbuf) ...@@ -1036,21 +1036,19 @@ void r8712_got_addbareq_event_callback(struct _adapter *adapter, u8 *pbuf)
struct sta_info *psta; struct sta_info *psta;
struct sta_priv *pstapriv = &adapter->stapriv; struct sta_priv *pstapriv = &adapter->stapriv;
struct recv_reorder_ctrl *precvreorder_ctrl = NULL; struct recv_reorder_ctrl *precvreorder_ctrl = NULL;
struct __queue *ppending_recvframe_queue = NULL;
unsigned long irql;
printk(KERN_INFO "r8712u: [%s] mac = %pM, seq = %d, tid = %d\n", printk(KERN_INFO "r8712u: [%s] mac = %pM, seq = %d, tid = %d\n",
__func__, pAddbareq_pram->MacAddress, __func__, pAddbareq_pram->MacAddress,
pAddbareq_pram->StartSeqNum, pAddbareq_pram->tid); pAddbareq_pram->StartSeqNum, pAddbareq_pram->tid);
psta = r8712_get_stainfo(pstapriv, pAddbareq_pram->MacAddress); psta = r8712_get_stainfo(pstapriv, pAddbareq_pram->MacAddress);
precvreorder_ctrl = &psta->recvreorder_ctrl[pAddbareq_pram->tid]; if (psta) {
ppending_recvframe_queue = &precvreorder_ctrl->pending_recvframe_queue; precvreorder_ctrl =
spin_lock_irqsave(&ppending_recvframe_queue->lock, irql); &psta->recvreorder_ctrl[pAddbareq_pram->tid];
r8712_recv_indicatepkts_in_order(adapter, precvreorder_ctrl, true); /* set the indicate_seq to 0xffff so that the rx reorder
spin_unlock_irqrestore(&ppending_recvframe_queue->lock, irql); * can store any following data packet.
/* set the indicate_seq to 0xffff so that the rx reorder can store */
* any following data packet.*/ precvreorder_ctrl->indicate_seq = 0xffff;
precvreorder_ctrl->indicate_seq = 0xffff; }
} }
void r8712_wpspbc_event_callback(struct _adapter *adapter, u8 *pbuf) void r8712_wpspbc_event_callback(struct _adapter *adapter, u8 *pbuf)
......
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