|
@@ -381,6 +381,18 @@
|
|
* is used to update the information about the station from the driver to
|
|
* is used to update the information about the station from the driver to
|
|
* userspace. Uses attributes from enum
|
|
* userspace. Uses attributes from enum
|
|
* qca_wlan_vendor_attr_update_sta_info.
|
|
* qca_wlan_vendor_attr_update_sta_info.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON: This acts as an event.
|
|
|
|
+ * The host driver initiates the disconnection for scenarios such as beacon
|
|
|
|
+ * miss, NUD failure, peer kick out, etc. The disconnection indication
|
|
|
|
+ * through cfg80211_disconnected() expects the reason codes from enum
|
|
|
|
+ * ieee80211_reasoncode which does not signify these various reasons why
|
|
|
|
+ * the driver has triggered the disconnection. This event will be used to
|
|
|
|
+ * send the driver specific reason codes by the host driver to userspace.
|
|
|
|
+ * Host drivers should trigger this event and pass the respective reason
|
|
|
|
+ * code immediately prior to triggering cfg80211_disconnected(). The
|
|
|
|
+ * attributes used with this event are defined in enum
|
|
|
|
+ * qca_wlan_vendor_attr_driver_disconnect_reason.
|
|
*/
|
|
*/
|
|
|
|
|
|
enum qca_nl80211_vendor_subcmds {
|
|
enum qca_nl80211_vendor_subcmds {
|
|
@@ -602,6 +614,7 @@ enum qca_nl80211_vendor_subcmds {
|
|
QCA_NL80211_VENDOR_SUBCMD_BTC_CHAIN_MODE = 185,
|
|
QCA_NL80211_VENDOR_SUBCMD_BTC_CHAIN_MODE = 185,
|
|
QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS_EVENT = 187,
|
|
QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS_EVENT = 187,
|
|
QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO = 188,
|
|
QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO = 188,
|
|
|
|
+ QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON = 189,
|
|
};
|
|
};
|
|
|
|
|
|
enum qca_wlan_vendor_tos {
|
|
enum qca_wlan_vendor_tos {
|
|
@@ -8357,4 +8370,102 @@ enum qca_vendor_attr_btc_chain_mode {
|
|
QCA_VENDOR_ATTR_BTC_CHAIN_MODE_LAST - 1,
|
|
QCA_VENDOR_ATTR_BTC_CHAIN_MODE_LAST - 1,
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * enum qca_disconnect_reason_codes - Specifies driver disconnect reason codes.
|
|
|
|
+ * Used when the driver triggers the STA to disconnect from the AP.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_UNSPECIFIED: The host driver triggered the
|
|
|
|
+ * disconnection with the AP due to unspecified reasons.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_INTERNAL_ROAM_FAILURE: The host driver triggered the
|
|
|
|
+ * disconnection with the AP due to a roaming failure. This roaming is triggered
|
|
|
|
+ * internally (host driver/firmware).
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_EXTERNAL_ROAM_FAILURE: The driver disconnected from
|
|
|
|
+ * the AP when the user/external triggered roaming fails.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_GATEWAY_REACHABILITY_FAILURE: This reason code is used
|
|
|
|
+ * by the host driver whenever gateway reachability failure is detected and the
|
|
|
|
+ * driver disconnects with AP.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_UNSUPPORTED_CHANNEL_CSA: The driver disconnected from
|
|
|
|
+ * the AP on a channel switch announcement from it with an unsupported channel.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_OPER_CHANNEL_DISABLED_INDOOR: On a concurrent AP start
|
|
|
|
+ * with indoor channels disabled and if the STA is connected on one of these
|
|
|
|
+ * disabled channels, the host driver disconnected the STA with this reason
|
|
|
|
+ * code.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_OPER_CHANNEL_USER_DISABLED: Disconnection due to an
|
|
|
|
+ * explicit request from the user to disable the current operating channel.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_DEVICE_RECOVERY: STA disconnected from the AP due to
|
|
|
|
+ * the internal host driver/firmware recovery.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_KEY_TIMEOUT: The driver triggered the disconnection on
|
|
|
|
+ * a timeout for the key installations from the user space.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_OPER_CHANNEL_BAND_CHANGE: The dDriver disconnected the
|
|
|
|
+ * STA on a band change request from the user space to a different band from the
|
|
|
|
+ * current operation channel/band.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_IFACE_DOWN: The STA disconnected from the AP on an
|
|
|
|
+ * interface down trigger from the user space.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_PEER_XRETRY_FAIL: The host driver disconnected the
|
|
|
|
+ * STA on getting continuous transmission failures for multiple Data frames.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_PEER_INACTIVITY: The STA does a keep alive
|
|
|
|
+ * notification to the AP by transmitting NULL/G-ARP frames. This disconnection
|
|
|
|
+ * represents inactivity from AP on such transmissions.
|
|
|
|
+
|
|
|
|
+ * @QCA_DISCONNECT_REASON_SA_QUERY_TIMEOUT: This reason code is used on
|
|
|
|
+ * disconnection when SA Query times out (AP does not respond to SA Query).
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_BEACON_MISS_FAILURE: The host driver disconnected the
|
|
|
|
+ * STA on missing the beacons continuously from the AP.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_CHANNEL_SWITCH_FAILURE: Disconnection due to STA not
|
|
|
|
+ * able to move to the channel mentioned by the AP in CSA.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_DISCONNECT_REASON_USER_TRIGGERED: User triggered disconnection.
|
|
|
|
+ */
|
|
|
|
+enum qca_disconnect_reason_codes {
|
|
|
|
+ QCA_DISCONNECT_REASON_UNSPECIFIED = 0,
|
|
|
|
+ QCA_DISCONNECT_REASON_INTERNAL_ROAM_FAILURE = 1,
|
|
|
|
+ QCA_DISCONNECT_REASON_EXTERNAL_ROAM_FAILURE = 2,
|
|
|
|
+ QCA_DISCONNECT_REASON_GATEWAY_REACHABILITY_FAILURE = 3,
|
|
|
|
+ QCA_DISCONNECT_REASON_UNSUPPORTED_CHANNEL_CSA = 4,
|
|
|
|
+ QCA_DISCONNECT_REASON_OPER_CHANNEL_DISABLED_INDOOR = 5,
|
|
|
|
+ QCA_DISCONNECT_REASON_OPER_CHANNEL_USER_DISABLED = 6,
|
|
|
|
+ QCA_DISCONNECT_REASON_DEVICE_RECOVERY = 7,
|
|
|
|
+ QCA_DISCONNECT_REASON_KEY_TIMEOUT = 8,
|
|
|
|
+ QCA_DISCONNECT_REASON_OPER_CHANNEL_BAND_CHANGE = 9,
|
|
|
|
+ QCA_DISCONNECT_REASON_IFACE_DOWN = 10,
|
|
|
|
+ QCA_DISCONNECT_REASON_PEER_XRETRY_FAIL = 11,
|
|
|
|
+ QCA_DISCONNECT_REASON_PEER_INACTIVITY = 12,
|
|
|
|
+ QCA_DISCONNECT_REASON_SA_QUERY_TIMEOUT = 13,
|
|
|
|
+ QCA_DISCONNECT_REASON_BEACON_MISS_FAILURE = 14,
|
|
|
|
+ QCA_DISCONNECT_REASON_CHANNEL_SWITCH_FAILURE = 15,
|
|
|
|
+ QCA_DISCONNECT_REASON_USER_TRIGGERED = 16,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * enum qca_wlan_vendor_attr_driver_disconnect_reason - Defines attributes
|
|
|
|
+ * used by %QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON vendor command.
|
|
|
|
+ *
|
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_DRIVER_DISCONNECT_REASCON_CODE: u32 attribute.
|
|
|
|
+ * This attribute represents the driver specific reason codes (local
|
|
|
|
+ * driver/firmware initiated reasons for disconnection) defined
|
|
|
|
+ * in enum qca_disconnect_reason_codes.
|
|
|
|
+ */
|
|
|
|
+enum qca_wlan_vendor_attr_driver_disconnect_reason {
|
|
|
|
+ QCA_WLAN_VENDOR_ATTR_DRIVER_DISCONNECT_REASON_INVALID = 0,
|
|
|
|
+ QCA_WLAN_VENDOR_ATTR_DRIVER_DISCONNECT_REASCON_CODE = 1,
|
|
|
|
+
|
|
|
|
+ /* keep last */
|
|
|
|
+ QCA_WLAN_VENDOR_ATTR_DRIVER_DISCONNECT_REASON_AFTER_LAST,
|
|
|
|
+ QCA_WLAN_VENDOR_ATTR_DRIVER_DISCONNECT_REASON_MAX =
|
|
|
|
+ QCA_WLAN_VENDOR_ATTR_DRIVER_DISCONNECT_REASON_AFTER_LAST - 1,
|
|
|
|
+};
|
|
#endif
|
|
#endif
|