From d86c555e6a300011d40f48073a5d540f25e4dd1d Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Wed, 14 Apr 2021 14:09:33 +0530 Subject: [PATCH] qcacmn: Add new reason code to TWT setup response Add new reason code WMI_HOST_ADD_TWT_STATUS_SCAN_IN_PROGRESS to handle add dialog rejection due to scan is in progress at firmware. Change-Id: I30c3d1096690bd0cb7a669206f087e006c23ea44 CRs-Fixed: 2923289 --- wmi/inc/wmi_unified_twt_param.h | 16 ++++++++++++++++ wmi/src/wmi_unified_twt_tlv.c | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/wmi/inc/wmi_unified_twt_param.h b/wmi/inc/wmi_unified_twt_param.h index 5121edb287..e5518b1958 100644 --- a/wmi/inc/wmi_unified_twt_param.h +++ b/wmi/inc/wmi_unified_twt_param.h @@ -322,6 +322,7 @@ enum WMI_HOST_GET_STATS_TWT_STATUS { * Failed * @WMI_HOST_ADD_TWT_STATUS_ROAM_IN_PROGRESS: Roaming in progress * @WMI_HOST_ADD_TWT_STATUS_CHAN_SW_IN_PROGRESS: Channel switch in progress + * @WMI_HOST_ADD_TWT_STATUS_SCAN_IN_PROGRESS: Scan is in progress */ enum WMI_HOST_ADD_TWT_STATUS { WMI_HOST_ADD_TWT_STATUS_OK, @@ -338,6 +339,7 @@ enum WMI_HOST_ADD_TWT_STATUS { WMI_HOST_ADD_TWT_STATUS_AP_IE_VALIDATION_FAILED, WMI_HOST_ADD_TWT_STATUS_ROAM_IN_PROGRESS, WMI_HOST_ADD_TWT_STATUS_CHAN_SW_IN_PROGRESS, + WMI_HOST_ADD_TWT_STATUS_SCAN_IN_PROGRESS, }; /** @@ -425,6 +427,7 @@ struct wmi_twt_del_dialog_param { * @WMI_HOST_DEL_TWT_STATUS_CONCURRENCY: TWT session teardown due to * concurrent session comming up. * @WMI_HOST_DEL_TWT_STATUS_CHAN_SW_IN_PROGRESS: Channel switch in progress + * @DEL_TWT_STATUS_SCAN_IN_PROGRESS: Scan is in progress */ enum WMI_HOST_DEL_TWT_STATUS { WMI_HOST_DEL_TWT_STATUS_OK, @@ -438,6 +441,7 @@ enum WMI_HOST_DEL_TWT_STATUS { WMI_HOST_DEL_TWT_STATUS_ROAMING, WMI_HOST_DEL_TWT_STATUS_CONCURRENCY, WMI_HOST_DEL_TWT_STATUS_CHAN_SW_IN_PROGRESS, + WMI_HOST_DEL_TWT_STATUS_SCAN_IN_PROGRESS, }; /** @@ -499,6 +503,8 @@ struct wmi_twt_nudge_dialog_cmd_param { * unknown reason * @WMI_HOST_PAUSE_TWT_STATUS_ALREADY_PAUSED: TWT dialog already in paused state * @WMI_HOST_PAUSE_TWT_STATUS_CHAN_SW_IN_PROGRESS: Channel switch in progress + * @WMI_HOST_PAUSE_TWT_STATUS_ROAM_IN_PROGRESS: Roaming is in progress + * @WMI_HOST_PAUSE_TWT_STATUS_SCAN_IN_PROGRESS: Scan is in progress */ enum WMI_HOST_PAUSE_TWT_STATUS { WMI_HOST_PAUSE_TWT_STATUS_OK, @@ -510,6 +516,8 @@ enum WMI_HOST_PAUSE_TWT_STATUS { WMI_HOST_PAUSE_TWT_STATUS_UNKNOWN_ERROR, WMI_HOST_PAUSE_TWT_STATUS_ALREADY_PAUSED, WMI_HOST_PAUSE_TWT_STATUS_CHAN_SW_IN_PROGRESS, + WMI_HOST_PAUSE_TWT_STATUS_ROAM_IN_PROGRESS, + WMI_HOST_PAUSE_TWT_STATUS_SCAN_IN_PROGRESS, }; /** @@ -538,6 +546,8 @@ struct wmi_twt_pause_dialog_complete_event_param { * @WMI_HOST_NUDGE_TWT_STATUS_UNKNOWN_ERROR: nudge TWT dialog failed with an * unknown reason * @WMI_HOST_NUDGE_TWT_STATUS_CHAN_SW_IN_PROGRESS: Channel switch in progress + * @WMI_HOST_NUDGE_TWT_STATUS_ROAM_IN_PROGRESS: Roaming in progress + * @WMI_HOST_NUDGE_TWT_STATUS_SCAN_IN_PROGRESS: Scan is in progress */ enum WMI_HOST_NUDGE_TWT_STATUS { WMI_HOST_NUDGE_TWT_STATUS_OK, @@ -548,6 +558,8 @@ enum WMI_HOST_NUDGE_TWT_STATUS { WMI_HOST_NUDGE_TWT_STATUS_NO_ACK, WMI_HOST_NUDGE_TWT_STATUS_UNKNOWN_ERROR, WMI_HOST_NUDGE_TWT_STATUS_CHAN_SW_IN_PROGRESS, + WMI_HOST_NUDGE_TWT_STATUS_ROAM_IN_PROGRESS, + WMI_HOST_NUDGE_TWT_STATUS_SCAN_IN_PROGRESS, }; /** @@ -598,6 +610,8 @@ struct wmi_twt_resume_dialog_cmd_param { * @WMI_HOST_RESUME_TWT_STATUS_UNKNOWN_ERROR: resuming TWT dialog failed with an * unknown reason * @WMI_HOST_RESUME_TWT_STATUS_CHAN_SW_IN_PROGRESS: Channel switch in progress + * @WMI_HOST_RESUME_TWT_STATUS_ROAM_IN_PROGRESS: Roaming in progress + * @WMI_HOST_RESUME_TWT_STATUS_SCAN_IN_PROGRESS: Scan is in progress */ enum WMI_HOST_RESUME_TWT_STATUS { WMI_HOST_RESUME_TWT_STATUS_OK, @@ -609,6 +623,8 @@ enum WMI_HOST_RESUME_TWT_STATUS { WMI_HOST_RESUME_TWT_STATUS_NO_ACK, WMI_HOST_RESUME_TWT_STATUS_UNKNOWN_ERROR, WMI_HOST_RESUME_TWT_STATUS_CHAN_SW_IN_PROGRESS, + WMI_HOST_RESUME_TWT_STATUS_ROAM_IN_PROGRESS, + WMI_HOST_RESUME_TWT_STATUS_SCAN_IN_PROGRESS, }; /** diff --git a/wmi/src/wmi_unified_twt_tlv.c b/wmi/src/wmi_unified_twt_tlv.c index 6f17e4802d..fbfe37f731 100644 --- a/wmi/src/wmi_unified_twt_tlv.c +++ b/wmi/src/wmi_unified_twt_tlv.c @@ -499,6 +499,8 @@ wmi_get_converted_twt_add_dialog_status(WMI_ADD_TWT_STATUS_T tgt_status) return WMI_HOST_ADD_TWT_STATUS_ROAM_IN_PROGRESS; case WMI_ADD_TWT_STATUS_CHAN_SW_IN_PROGRESS: return WMI_HOST_ADD_TWT_STATUS_CHAN_SW_IN_PROGRESS; + case WMI_ADD_TWT_STATUS_SCAN_IN_PROGRESS: + return WMI_HOST_ADD_TWT_STATUS_SCAN_IN_PROGRESS; default: return WMI_HOST_ADD_TWT_STATUS_UNKNOWN_ERROR; } @@ -638,6 +640,8 @@ wmi_get_converted_twt_del_dialog_status(WMI_DEL_TWT_STATUS_T tgt_status) return WMI_HOST_DEL_TWT_STATUS_CONCURRENCY; case WMI_DEL_TWT_STATUS_CHAN_SW_IN_PROGRESS: return WMI_HOST_DEL_TWT_STATUS_CHAN_SW_IN_PROGRESS; + case WMI_DEL_TWT_STATUS_SCAN_IN_PROGRESS: + return WMI_HOST_DEL_TWT_STATUS_SCAN_IN_PROGRESS; default: return WMI_HOST_DEL_TWT_STATUS_UNKNOWN_ERROR; } @@ -691,6 +695,10 @@ wmi_twt_pause_status_to_host_twt_status(WMI_PAUSE_TWT_STATUS_T status) return WMI_HOST_PAUSE_TWT_STATUS_ALREADY_PAUSED; case WMI_PAUSE_TWT_STATUS_CHAN_SW_IN_PROGRESS: return WMI_HOST_PAUSE_TWT_STATUS_CHAN_SW_IN_PROGRESS; + case WMI_PAUSE_TWT_STATUS_ROAM_IN_PROGRESS: + return WMI_HOST_PAUSE_TWT_STATUS_ROAM_IN_PROGRESS; + case WMI_PAUSE_TWT_STATUS_SCAN_IN_PROGRESS: + return WMI_HOST_PAUSE_TWT_STATUS_SCAN_IN_PROGRESS; default: return WMI_HOST_PAUSE_TWT_STATUS_UNKNOWN_ERROR; } @@ -740,6 +748,10 @@ wmi_twt_nudge_status_to_host_twt_status(WMI_TWT_NUDGE_STATUS_T status) return WMI_HOST_NUDGE_TWT_STATUS_UNKNOWN_ERROR; case WMI_NUDGE_TWT_STATUS_CHAN_SW_IN_PROGRESS: return WMI_HOST_NUDGE_TWT_STATUS_CHAN_SW_IN_PROGRESS; + case WMI_NUDGE_TWT_STATUS_ROAM_IN_PROGRESS: + return WMI_HOST_NUDGE_TWT_STATUS_ROAM_IN_PROGRESS; + case WMI_NUDGE_TWT_STATUS_SCAN_IN_PROGRESS: + return WMI_HOST_NUDGE_TWT_STATUS_SCAN_IN_PROGRESS; default: return WMI_HOST_NUDGE_TWT_STATUS_UNKNOWN_ERROR; } @@ -795,6 +807,10 @@ wmi_get_converted_twt_resume_dialog_status(WMI_RESUME_TWT_STATUS_T tgt_status) return WMI_HOST_RESUME_TWT_STATUS_NO_ACK; case WMI_RESUME_TWT_STATUS_CHAN_SW_IN_PROGRESS: return WMI_HOST_RESUME_TWT_STATUS_CHAN_SW_IN_PROGRESS; + case WMI_RESUME_TWT_STATUS_ROAM_IN_PROGRESS: + return WMI_HOST_RESUME_TWT_STATUS_ROAM_IN_PROGRESS; + case WMI_RESUME_TWT_STATUS_SCAN_IN_PROGRESS: + return WMI_HOST_RESUME_TWT_STATUS_SCAN_IN_PROGRESS; default: return WMI_HOST_RESUME_TWT_STATUS_UNKNOWN_ERROR; }