Jelajahi Sumber

qcacld-3.0: Clear pending flag in hdd_destroy_acs_timer()

hdd_create_acs_timer() sets VENDOR_ACS_RESPONSE_PENDING, but
hdd_destroy_acs_timer() does not ensure this flag is cleared. This can
lead to a situation where the ACS timer is not initialized, but parts of
the code incorrectly assume that it is. Clear
VENDOR_ACS_RESPONSE_PENDING in hdd_destroy_acs_timer() to prevent
invalid access to the ACS timer.

Change-Id: I7c367b20e279fadc5ee329d94b7475711796b185
CRs-Fixed: 2305719
Dustin Brown 6 tahun lalu
induk
melakukan
1faac91278
1 mengubah file dengan 1 tambahan dan 0 penghapusan
  1. 1 0
      core/hdd/src/wlan_hdd_hostapd.c

+ 1 - 0
core/hdd/src/wlan_hdd_hostapd.c

@@ -5186,6 +5186,7 @@ int hdd_destroy_acs_timer(struct hdd_adapter *adapter)
 
 	adapter->session.ap.vendor_acs_timer_initialized = false;
 
+	clear_bit(VENDOR_ACS_RESPONSE_PENDING, &adapter->event_flags);
 	if (QDF_TIMER_STATE_RUNNING ==
 			adapter->session.ap.vendor_acs_timer.state) {
 		qdf_status =