]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
More details to the vendor specific driver internal failure reporting
authorSourav Mohapatra <mohapatr@codeaurora.org>
Thu, 19 Mar 2020 13:51:34 +0000 (19:21 +0530)
committerJouni Malinen <j@w1.fi>
Sat, 21 Mar 2020 15:12:29 +0000 (17:12 +0200)
Add more hang reason codes for the hang reason in the
QCA_NL80211_VENDOR_SUBCMD_HANG events. This also introduces the
attribute QCA_WLAN_VENDOR_ATTR_HANG_REASON_DATA to carry the required
data for the respective hang reason. This data is expected to contain
the required dump to analyze the reason for the hang.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
src/common/qca-vendor.h

index 8a56ab7bf92cb0090e2dda31d15f516adbd60972..f1a06513279f8ccf65ce6b9b7eb2211f3b9c797e 100644 (file)
@@ -5723,6 +5723,39 @@ enum qca_wlan_vendor_hang_reason {
        QCA_WLAN_HANG_DXE_FAILURE = 12,
        /* WMI pending commands exceed the maximum count */
        QCA_WLAN_HANG_WMI_EXCEED_MAX_PENDING_CMDS = 13,
+       /* Timeout for peer STA connection accept command's response from the
+        * FW in AP mode. This command is triggered when a STA (peer) connects
+        * to AP (DUT).
+        */
+       QCA_WLAN_HANG_AP_STA_CONNECT_REQ_TIMEOUT = 14,
+       /* Timeout for the AP connection accept command's response from the FW
+        * in STA mode. This command is triggered when the STA (DUT) connects
+        * to an AP (peer).
+        */
+       QCA_WLAN_HANG_STA_AP_CONNECT_REQ_TIMEOUT = 15,
+       /* Timeout waiting for the response to the MAC HW mode change command
+        * sent to FW as a part of MAC mode switch among DBS (Dual Band
+        * Simultaneous), SCC (Single Channel Concurrency), and MCC (Multi
+        * Channel Concurrency) mode.
+        */
+       QCA_WLAN_HANG_MAC_HW_MODE_CHANGE_TIMEOUT = 16,
+       /* Timeout waiting for the response from FW to configure the MAC HW's
+        * mode. This operation is to configure the single/two MACs in either
+        * SCC/MCC/DBS mode.
+        */
+       QCA_WLAN_HANG_MAC_HW_MODE_CONFIG_TIMEOUT = 17,
+       /* Timeout waiting for response of VDEV start command from the FW */
+       QCA_WLAN_HANG_VDEV_START_RESPONSE_TIMED_OUT = 18,
+       /* Timeout waiting for response of VDEV restart command from the FW */
+       QCA_WLAN_HANG_VDEV_RESTART_RESPONSE_TIMED_OUT = 19,
+       /* Timeout waiting for response of VDEV stop command from the FW */
+       QCA_WLAN_HANG_VDEV_STOP_RESPONSE_TIMED_OUT = 20,
+       /* Timeout waiting for response of VDEV delete command from the FW */
+       QCA_WLAN_HANG_VDEV_DELETE_RESPONSE_TIMED_OUT = 21,
+       /* Timeout waiting for response of peer all delete request command to
+        * the FW on a specific VDEV.
+        */
+       QCA_WLAN_HANG_VDEV_PEER_DELETE_ALL_RESPONSE_TIMED_OUT = 22,
 };
 
 /**
@@ -5735,6 +5768,12 @@ enum qca_wlan_vendor_attr_hang {
         * qca_wlan_vendor_hang_reason.
         */
        QCA_WLAN_VENDOR_ATTR_HANG_REASON = 1,
+       /* The binary blob data associated with the hang reason specified by
+        * QCA_WLAN_VENDOR_ATTR_HANG_REASON. This binary data is expected to
+        * contain the required dump to analyze the reason for the hang.
+        * NLA_BINARY attribute, the max size is 1024 bytes.
+        */
+       QCA_WLAN_VENDOR_ATTR_HANG_REASON_DATA = 2,
 
        QCA_WLAN_VENDOR_ATTR_HANG_AFTER_LAST,
        QCA_WLAN_VENDOR_ATTR_HANG_MAX =