Browse Source

qcacld-3.0: Handle TWT teardown with new reason code

Firmware sends TWT teardown with status code
WMI_DEL_TWT_STATUS_CONCURRENT_SESSION when a concurrent connection
is established. Currently host driver drops this event as the
status code is not WMI_DEL_TWT_STATUS_ROAMING_INITIATED or
WMI_DEL_TWT_STATUS_PEER_INITIATED.

Add support to handle TWT teardown event with
WMI_DEL_TWT_STATUS_CONCURRENT_SESSION status code.

Change-Id: I408ba960924b4daa1ca4f8337d7e0d1ce52c5fd9
CRs-Fixed: 2899563
Pragaspathi Thilagaraj 4 years ago
parent
commit
a4ad8868b6
2 changed files with 4 additions and 1 deletions
  1. 2 0
      core/hdd/src/wlan_hdd_twt.c
  2. 2 1
      core/sme/src/common/sme_api.c

+ 2 - 0
core/hdd/src/wlan_hdd_twt.c

@@ -1010,6 +1010,8 @@ int wmi_twt_del_status_to_vendor_twt_status(enum WMI_HOST_DEL_TWT_STATUS status)
 		return QCA_WLAN_VENDOR_TWT_STATUS_PEER_INITIATED_TERMINATE;
 	case WMI_HOST_DEL_TWT_STATUS_ROAMING:
 		return QCA_WLAN_VENDOR_TWT_STATUS_ROAM_INITIATED_TERMINATE;
+	case WMI_HOST_DEL_TWT_STATUS_CONCURRENCY:
+		return QCA_WLAN_VENDOR_TWT_STATUS_SCC_MCC_CONCURRENCY_TERMINATE;
 	default:
 		return QCA_WLAN_VENDOR_TWT_STATUS_UNKNOWN_ERROR;
 	}

+ 2 - 1
core/sme/src/common/sme_api.c

@@ -2026,7 +2026,8 @@ sme_process_twt_del_dialog_event(struct mac_context *mac,
 	if (!is_evt_allowed &&
 	    param->dialog_id != WLAN_ALL_SESSIONS_DIALOG_ID &&
 	    param->status != WMI_HOST_DEL_TWT_STATUS_ROAMING &&
-	    param->status != WMI_HOST_DEL_TWT_STATUS_PEER_INIT_TEARDOWN) {
+	    param->status != WMI_HOST_DEL_TWT_STATUS_PEER_INIT_TEARDOWN &&
+	    param->status != WMI_HOST_DEL_TWT_STATUS_CONCURRENCY) {
 		sme_debug("Del dialog event dropped for id:%d status:%d",
 			  param->dialog_id, param->status);
 		return;