Procházet zdrojové kódy

qcacld-3.0: Fix TDLS timer leak when unloading

If firmware is stuck while driver unloading, sme_close_session
will return failure, and cause later timer leak, in this case
continue to release vdev.

Change-Id: I137d8d29ec18af1b222eb0b967916fa20b998894
CRs-Fixed: 2176949
Frank Liu před 7 roky
rodič
revize
c66d4bf13c
1 změnil soubory, kde provedl 4 přidání a 3 odebrání
  1. 4 3
      core/hdd/src/wlan_hdd_main.c

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

@@ -3628,10 +3628,11 @@ int hdd_vdev_destroy(struct hdd_adapter *adapter)
 	}
 
 release_vdev:
-	/* In SSR case, directly exit may cause objects leaks,
-	 * if sme_close_session failed.Free objects anyway.
+	/*
+	 * In SSR or driver unloading case, directly exit may cause objects
+	 * leak, if sme_close_session failed. Free objects anyway.
 	 */
-	if (errno && !cds_is_driver_recovering())
+	if (errno && !(cds_is_driver_recovering() || cds_is_driver_unloading()))
 		return errno;
 
 	/* do vdev logical destroy via objmgr */