qcacld-3.0: In SSR, clear flow control flag

When TX queues stopped by flow control right before SSR, corresponding
TX complete event used to clear the pause_map bit never come.
Flow control should reset its state during SSR, so clear this bit.

Change-Id: I462de1e20c9e2fc40476fc6b2d999c10e6396d8c
CRs-Fixed: 2274955
This commit is contained in:
Nijun Gong 2018-08-07 10:43:56 +08:00 committed by nshrivas
parent 1b92b14a84
commit 104ccc7742

View File

@ -5440,6 +5440,16 @@ QDF_STATUS hdd_reset_all_adapters(struct hdd_context *hdd_ctx)
WLAN_STOP_ALL_NETIF_QUEUE_N_CARRIER,
WLAN_CONTROL_PATH);
}
/*
* Clear fc flag if it was set before SSR to avoid TX queues
* permanently stopped after SSR.
* Here WLAN_START_ALL_NETIF_QUEUE will actually not start any
* queue since it's blocked by reason WLAN_CONTROL_PATH.
*/
if (adapter->pause_map & (1 << WLAN_DATA_FLOW_CONTROL))
wlan_hdd_netif_queue_control(adapter,
WLAN_START_ALL_NETIF_QUEUE,
WLAN_DATA_FLOW_CONTROL);
hdd_reset_scan_operation(hdd_ctx, adapter);