From 6f585aba54cd3f05cb01a1630382c9ba41ddc95a Mon Sep 17 00:00:00 2001 From: Wu Gao Date: Wed, 15 Jun 2016 12:41:31 +0800 Subject: [PATCH] qcacld-3.0: Don't indicate P2P client deletion event DUT formed P2P connection with second device and as P2P GO, trigger assert in target, supplicant get P2P client deletion event, and then DUT remove P2P GO and change interface type from P2P GO to P2P device but failed since recovery in progress. This change avoid to indicate P2P client deletion event to up layer since host will sent P2P GO stopping event to up layer. Change-Id: I2221332d062f1e5f74846187ce9b478a11b8eb9f CRs-Fixed: 2589866 --- core/hdd/src/wlan_hdd_hostapd.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index f182d8c30c11c..f2b7ee786ede7 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -2355,10 +2355,20 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event, WIFI_POWER_EVENT_WAKELOCK_SAP); qdf_wake_lock_timeout_acquire(&hdd_ctx->sap_wake_lock, HDD_SAP_CLIENT_DISCONNECT_WAKE_LOCK_DURATION); - cfg80211_del_sta(dev, - (const u8 *)&sap_event->sapevt. - sapStationDisassocCompleteEvent.staMac. - bytes[0], GFP_KERNEL); + + /* + * Don't indicate delete station event if P2P GO and + * SSR in progress. Since supplicant will change mode + * fail and down during this time. + */ + if ((adapter->device_mode != QDF_P2P_GO_MODE) || + (!cds_is_driver_recovering())) { + cfg80211_del_sta(dev, + (const u8 *)&sap_event->sapevt. + sapStationDisassocCompleteEvent.staMac. + bytes[0], GFP_KERNEL); + hdd_debug("indicate sta deletion event"); + } /* Update the beacon Interval if it is P2P GO */ qdf_status = policy_mgr_change_mcc_go_beacon_interval(