From 1faac91278625c40d504b25cc4bcdb2f0a2a4c2e Mon Sep 17 00:00:00 2001 From: Dustin Brown Date: Thu, 30 Aug 2018 11:34:39 -0700 Subject: [PATCH] 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 --- core/hdd/src/wlan_hdd_hostapd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 947217f8431b..95fd9f3d569d 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/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 =