Parcourir la source

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
Pragaspathi Thilagaraj il y a 4 ans
Parent
commit
d86c555e6a
2 fichiers modifiés avec 32 ajouts et 0 suppressions
  1. 16 0
      wmi/inc/wmi_unified_twt_param.h
  2. 16 0
      wmi/src/wmi_unified_twt_tlv.c

+ 16 - 0
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,
 };
 
 /**

+ 16 - 0
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;
 	}