From a0ec60b3999188aaff182a8aab8011fa9081bbf1 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 16 Aug 2019 18:00:45 -0700 Subject: [PATCH] fw-api: CL 7881508 - update fw common interface files Change-Id: If3ba1ca92240429f2d96e661c096dd3f8e3745c9 WMI: fix incorrect TLV addition in PEER_CFR_CAPTURE_CMD msg CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 22 +++++++++++++++++++--- fw/wmi_unified.h | 4 ++++ fw/wmi_version.h | 2 +- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index c3d3cf6fa43e..acdb1ea1a18f 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -4014,8 +4014,23 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID); /* Peer CFR capture cmd */ #define WMITLV_TABLE_WMI_PEER_CFR_CAPTURE_CMDID(id,op,buf,len) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_cfr_capture_cmd_fixed_param, wmi_peer_cfr_capture_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_cfr_capture_event_phase_fixed_param, wmi_peer_cfr_capture_event_phase_fixed_param, phase_param, WMITLV_SIZE_FIX) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_cfr_capture_cmd_fixed_param, wmi_peer_cfr_capture_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +/* + * NOTE: from approximately 7/25/19 to 8/16/19, the below TLV was incorrectly + * added to this WMI_PEER_CFR_CAPTURE_CMDID message. + * Any targets compiled with these versions of the WMI definitions will + * expect that if there is a 2nd TLV in the WMI_PEER_CFR_CAPTURE_CMDID, + * it will be + * WMITLV_TAG_STRUC_wmi_peer_cfr_capture_event_phase_fixed_param + * If in the future a new 2nd TLV is added to this WMI_PEER_CFR_CAPTURE_CMDID + * message, that would cause a target compiled with the erroneous old + * definitions to reject the WMI_PEER_CFR_CAPTURE_CMDID message containing + * the new 2nd TLV, because it would not match the + * WMITLV_TAG_STRUC_wmi_peer_cfr_capture_event_phase_fixed_param + * tag expected by the old target. + * + * WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_cfr_capture_event_phase_fixed_param, wmi_peer_cfr_capture_event_phase_fixed_param, phase_param, WMITLV_SIZE_FIX) + */ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CFR_CAPTURE_CMDID); /* CHANNEL WIDTH SWITCH commands for peers. */ @@ -5486,7 +5501,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ESP_ESTIMATE_EVENTID); /* Peer CFR capture event */ #define WMITLV_TABLE_WMI_PEER_CFR_CAPTURE_EVENTID(id,op,buf,len) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_cfr_capture_event_fixed_param, wmi_peer_cfr_capture_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_cfr_capture_event_fixed_param, wmi_peer_cfr_capture_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_cfr_capture_event_phase_fixed_param, wmi_peer_cfr_capture_event_phase_fixed_param, phase_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CFR_CAPTURE_EVENTID); #define WMITLV_TABLE_WMI_PDEV_COLD_BOOT_CAL_DATA_EVENTID(id,op,buf,len) \ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index c403d2e99346..7972a74eb577 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -27345,6 +27345,10 @@ typedef struct { #define WMI_PEER_CFR_CAPTURE_EVT_STATUS_OK 0x80000000 #define WMI_PEER_CFR_CAPTURE_EVT_STATUS_OK_S 31 +/* Failed to capture CFR as peer is in power save mode */ +#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_PS_FAILED 0x40000000 +#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_PS_FAILED_S 30 + #define WMI_PEER_CFR_CAPTURE_EVT_STATUS_TX 0x00000003 #define WMI_PEER_CFR_CAPTURE_EVT_STATUS_TX_S 0 diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 6c2e8554e91d..6e16851f2005 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 710 +#define __WMI_REVISION_ 711 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work