Selaa lähdekoodia

qcacld-3.0: Check sme session opened flag for opened interfaces

Sap context memory is allocated on adding softap interface.
If wlan interface is disabled after softap interface is added,
iface_idle_work is scheduled since DEVICE_IFACE_OPENED will
not be set. Memory leak will happen as sap context is not
freed in this case.

Fix is to check for DEVICE_IFACE_OPENED or SME_SESSION_OPENED
flag for opened interfaces.

Change-Id: I3585078135dc042222a92cf5c896ad26a086e506
CRs-Fixed: 2126666
Yeshwanth Sriram Guntuka 7 vuotta sitten
vanhempi
sitoutus
4ce0a1b2b5
1 muutettua tiedostoa jossa 3 lisäystä ja 1 poistoa
  1. 3 1
      core/hdd/src/wlan_hdd_main.c

+ 3 - 1
core/hdd/src/wlan_hdd_main.c

@@ -4670,7 +4670,9 @@ bool hdd_check_for_opened_interfaces(struct hdd_context *hdd_ctx)
 	status = hdd_get_front_adapter(hdd_ctx, &adapter_node);
 	while ((NULL != adapter_node) && (QDF_STATUS_SUCCESS == status)) {
 		if (test_bit(DEVICE_IFACE_OPENED,
-		    &adapter_node->adapter->event_flags)) {
+		    &adapter_node->adapter->event_flags) ||
+		    test_bit(SME_SESSION_OPENED,
+			     &adapter_node->adapter->event_flags)) {
 			hdd_debug("Still other ifaces are up cannot close modules");
 			close_modules = false;
 			break;