Prechádzať zdrojové kódy

qcacld-3.0: Enable NETIF queues after hdd_roam_register_sta()

Enable NETIF queues after hdd_roam_register_sta().

When there is a race condition where data transmission after
hdd_association_completion and before roam_register_sta, vdev
information passed in the tx_send is a stale entry from the
previous vdev. Enabling queues after roam_register_sta will
fix this issue.

Change-Id: I67c72de46c05bbdb58188155eb1146dcf6974b16
CRs-Fixed: 1116647
Krishna Kumaar Natarajan 8 rokov pred
rodič
commit
6736d81fd9
1 zmenil súbory, kde vykonal 5 pridanie a 15 odobranie
  1. 5 15
      core/hdd/src/wlan_hdd_assoc.c

+ 5 - 15
core/hdd/src/wlan_hdd_assoc.c

@@ -2741,27 +2741,17 @@ static QDF_STATUS hdd_association_completion_handler(hdd_adapter_t *pAdapter,
 					      eCSR_BSS_TYPE_INFRASTRUCTURE);
 
 				/*
-				 * Start the Queue - Start tx queues before
-				 * hdd_roam_register_sta, since
-				 * hdd_roam_register_sta will flush any cached
-				 * data frames immediately.
+				 * Register the Station with DP after associated
 				 */
+				qdf_status = hdd_roam_register_sta(pAdapter,
+						pRoamInfo,
+						pHddStaCtx->conn_info.staId[0],
+						NULL, pRoamInfo->pBssDesc);
 				hdd_info("Enabling queues");
 				wlan_hdd_netif_queue_control(pAdapter,
 						WLAN_WAKE_ALL_NETIF_QUEUE,
 						WLAN_CONTROL_PATH);
 
-				/*
-				 * Register the Station with TL after associated
-				 */
-				qdf_status = hdd_roam_register_sta(pAdapter,
-								   pRoamInfo,
-								   pHddStaCtx->
-								   conn_info.
-								   staId[0],
-								   NULL,
-								   pRoamInfo->
-								   pBssDesc);
 			}
 		} else {
 			/*