mwifiex: process event before command response
During extended scan, SCAN report event is always followed by command response. Sometimes It is observed that command response is processed before SCAN report which leads to a crash, because current command node is cleared while handling the response. This patch makes sure that driver's main thread gives priority to events over command responses. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Maithili Hinge <maithili@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
c0da71ff4d
commit
20474129d8
@@ -292,6 +292,12 @@ process_start:
|
||||
while ((skb = skb_dequeue(&adapter->usb_rx_data_q)))
|
||||
mwifiex_handle_rx_packet(adapter, skb);
|
||||
|
||||
/* Check for event */
|
||||
if (adapter->event_received) {
|
||||
adapter->event_received = false;
|
||||
mwifiex_process_event(adapter);
|
||||
}
|
||||
|
||||
/* Check for Cmd Resp */
|
||||
if (adapter->cmd_resp_received) {
|
||||
adapter->cmd_resp_received = false;
|
||||
@@ -304,12 +310,6 @@ process_start:
|
||||
}
|
||||
}
|
||||
|
||||
/* Check for event */
|
||||
if (adapter->event_received) {
|
||||
adapter->event_received = false;
|
||||
mwifiex_process_event(adapter);
|
||||
}
|
||||
|
||||
/* Check if we need to confirm Sleep Request
|
||||
received previously */
|
||||
if (adapter->ps_state == PS_STATE_PRE_SLEEP) {
|
||||
|
Reference in New Issue
Block a user