Loading htc/htc_send.c +2 −3 Original line number Diff line number Diff line Loading @@ -572,9 +572,6 @@ static QDF_STATUS htc_issue_packets(HTC_TARGET *target, * frames, since data frames were already mapped as they * entered into the driver. */ pPacket->PktInfo.AsTx.Flags |= HTC_TX_PACKET_FLAG_FIXUP_NETBUF; ret = qdf_nbuf_map(target->osdev, GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket), QDF_DMA_TO_DEVICE); Loading @@ -586,6 +583,8 @@ static QDF_STATUS htc_issue_packets(HTC_TARGET *target, status = QDF_STATUS_E_FAILURE; break; } pPacket->PktInfo.AsTx.Flags |= HTC_TX_PACKET_FLAG_FIXUP_NETBUF; } if (!pEndpoint->async_update) { Loading os_if/linux/p2p/src/wlan_cfg80211_p2p.c +3 −11 Original line number Diff line number Diff line /* * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved. * Copyright (c) 2017-2020 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -55,10 +55,6 @@ static void wlan_p2p_rx_callback(void *user_data, struct wireless_dev *wdev; uint16_t freq; cfg80211_debug("user data:%pK, vdev id:%d, rssi:%d, buf:%pK, len:%d", user_data, rx_frame->vdev_id, rx_frame->rx_rssi, rx_frame->buf, rx_frame->frame_len); psoc = user_data; if (!psoc) { cfg80211_err("psoc is null"); Loading Loading @@ -91,8 +87,8 @@ static void wlan_p2p_rx_callback(void *user_data, freq = ieee80211_channel_to_frequency( rx_frame->rx_chan, NL80211_BAND_5GHZ); cfg80211_debug("Indicate frame over nl80211, vdev id:%d, idx:%d", rx_frame->vdev_id, wdev->netdev->ifindex); cfg80211_debug("Indicate frame over nl80211, idx:%d", wdev->netdev->ifindex); #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)) cfg80211_rx_mgmt(wdev, freq, rx_frame->rx_rssi * 100, Loading Loading @@ -129,10 +125,6 @@ static void wlan_p2p_action_tx_cnf_callback(void *user_data, struct wireless_dev *wdev; bool is_success; cfg80211_debug("user data:%pK, action cookie:%llx, buf:%pK, len:%d, tx status:%d", user_data, tx_cnf->action_cookie, tx_cnf->buf, tx_cnf->buf_len, tx_cnf->status); psoc = user_data; if (!psoc) { cfg80211_err("psoc is null"); Loading os_if/linux/qca_vendor.h +169 −0 Original line number Diff line number Diff line Loading @@ -345,6 +345,22 @@ * user space for the SAR power limits configuration from user space. If * the driver does not get the SAR power limits from user space for all * the retried attempts, it can configure a default SAR power limit. * @QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO: This acts as a vendor event and * is used to update the information about the station from the driver to * userspace. Uses attributes from enum * 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 { Loading Loading @@ -559,6 +575,8 @@ enum qca_nl80211_vendor_subcmds { QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING = 180, QCA_NL80211_VENDOR_SUBCMD_OEM_DATA = 182, QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS_EVENT = 187, QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO = 188, QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON = 189, }; enum qca_wlan_vendor_tos { Loading Loading @@ -682,6 +700,29 @@ enum qca_wlan_vendor_attr_get_station { QCA_WLAN_VENDOR_ATTR_GET_STATION_AFTER_LAST - 1, }; /** * enum qca_wlan_vendor_attr_update_sta_info - Defines attributes * used by QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO vendor command. * * @QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_CONNECT_CHANNELS: Type is NLA_UNSPEC. * Used in STA mode. This attribute represents the list of channel center * frequencies in MHz (u32) the station has learnt during the last connection * or roaming attempt. This information shall not signify the channels for * an explicit scan request from the user space. Host drivers can update this * information to the user space in both connected and disconnected state. * In the disconnected state this information shall signify the channels * scanned in the last connection/roam attempt that lead to the disconnection. */ enum qca_wlan_vendor_attr_update_sta_info { QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_INVALID = 0, QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_CONNECT_CHANNELS = 1, /* keep last */ QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_AFTER_LAST, QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_MAX = QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_AFTER_LAST - 1, }; /** * enum qca_wlan_802_11_mode - dot11 mode * @QCA_WLAN_802_11_MODE_11B: mode B Loading Loading @@ -799,6 +840,21 @@ enum qca_wlan_auth_type { * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_SGI_ENABLE: * Remote station short GI enable/disable * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_PAD: Attribute type for padding * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_BEACON_IES: Binary attribute * containing the raw information elements from Beacon frames. Represents * the Beacon frames of the current BSS in the connected state. When queried * in the disconnected state, these IEs correspond to the last connected BSSID. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_DRIVER_DISCONNECT_REASON: u32, Driver * disconnect reason for the last disconnection if the disconnection is * triggered from the host driver. The values are referred from * enum qca_disconnect_reason_codes. If the disconnect is from * peer/userspace this value is QCA_DISCONNECT_REASON_UNSPECIFIED. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ASSOC_REQ_IES: Binary attribute * Applicable in AP mode only. It contains the raw information elements * from assoc request frame of the given peer station. User queries with the * mac address of peer station when it disconnects. Host driver sends * assoc request frame of the given station. Host driver doesn't provide * the IEs when the peer station is still in connected state. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AFTER_LAST: After last */ enum qca_wlan_vendor_attr_get_station_info { Loading Loading @@ -829,6 +885,20 @@ enum qca_wlan_vendor_attr_get_station_info { #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)) QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_PAD, #endif QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_RX_RETRY_COUNT, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_RX_BC_MC_COUNT, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_FAILURE, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_AVG_RSSI_PER_CHAIN, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_SUCCEED, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_RX_LAST_PKT_RSSI, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_EXHAUST, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_TOTAL_FW, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_FW, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_EXHAUST_FW, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_BEACON_IES, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_DRIVER_DISCONNECT_REASON, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ASSOC_REQ_IES, /* keep last */ QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AFTER_LAST, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_MAX = Loading Loading @@ -992,6 +1062,7 @@ enum qca_nl80211_vendor_subcmds_index { QCA_NL80211_VENDOR_SUBCMD_ROAM_INDEX, QCA_NL80211_VENDOR_SUBCMD_OEM_DATA_INDEX, QCA_NL80211_VENDOR_SUBCMD_REQUEST_SAR_LIMITS_INDEX, QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO_INDEX, }; /** Loading Loading @@ -4032,6 +4103,104 @@ enum qca_wlan_vendor_attr_offloaded_packets { QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_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 /** Loading os_if/linux/scan/src/wlan_cfg80211_scan.c +2 −1 Original line number Diff line number Diff line Loading @@ -1372,7 +1372,8 @@ int wlan_cfg80211_scan(struct wlan_objmgr_vdev *vdev, pssid->length); } } if (request->ssids || (opmode == QDF_P2P_GO_MODE)) if (request->ssids || (opmode == QDF_P2P_GO_MODE) || (opmode == QDF_P2P_DEVICE_MODE)) req->scan_req.scan_f_passive = false; if (params->half_rate) Loading os_if/linux/wlan_osif_request_manager.c +1 −7 Original line number Diff line number Diff line /* * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. * Copyright (c) 2017-2018, 2020 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -101,8 +101,6 @@ struct osif_request *osif_request_alloc(const struct osif_request_params *params request->cookie = cookie++; qdf_list_insert_back(&requests, &request->node); qdf_spin_unlock_bh(&spinlock); cfg80211_debug("request %pK, cookie %pK, caller %pS", request, request->cookie, (void *)_RET_IP_); return request; } Loading Loading @@ -132,8 +130,6 @@ struct osif_request *osif_request_get(void *cookie) if (request) request->reference_count++; qdf_spin_unlock_bh(&spinlock); cfg80211_debug("cookie %pK, request %pK, caller %pS", cookie, request, (void *)_RET_IP_); return request; } Loading @@ -142,8 +138,6 @@ void osif_request_put(struct osif_request *request) { bool unlinked = false; cfg80211_debug("request %pK, cookie %pK, caller %pS", request, request->cookie, (void *)_RET_IP_); qdf_spin_lock_bh(&spinlock); request->reference_count--; if (0 == request->reference_count) { Loading Loading
htc/htc_send.c +2 −3 Original line number Diff line number Diff line Loading @@ -572,9 +572,6 @@ static QDF_STATUS htc_issue_packets(HTC_TARGET *target, * frames, since data frames were already mapped as they * entered into the driver. */ pPacket->PktInfo.AsTx.Flags |= HTC_TX_PACKET_FLAG_FIXUP_NETBUF; ret = qdf_nbuf_map(target->osdev, GET_HTC_PACKET_NET_BUF_CONTEXT(pPacket), QDF_DMA_TO_DEVICE); Loading @@ -586,6 +583,8 @@ static QDF_STATUS htc_issue_packets(HTC_TARGET *target, status = QDF_STATUS_E_FAILURE; break; } pPacket->PktInfo.AsTx.Flags |= HTC_TX_PACKET_FLAG_FIXUP_NETBUF; } if (!pEndpoint->async_update) { Loading
os_if/linux/p2p/src/wlan_cfg80211_p2p.c +3 −11 Original line number Diff line number Diff line /* * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved. * Copyright (c) 2017-2020 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -55,10 +55,6 @@ static void wlan_p2p_rx_callback(void *user_data, struct wireless_dev *wdev; uint16_t freq; cfg80211_debug("user data:%pK, vdev id:%d, rssi:%d, buf:%pK, len:%d", user_data, rx_frame->vdev_id, rx_frame->rx_rssi, rx_frame->buf, rx_frame->frame_len); psoc = user_data; if (!psoc) { cfg80211_err("psoc is null"); Loading Loading @@ -91,8 +87,8 @@ static void wlan_p2p_rx_callback(void *user_data, freq = ieee80211_channel_to_frequency( rx_frame->rx_chan, NL80211_BAND_5GHZ); cfg80211_debug("Indicate frame over nl80211, vdev id:%d, idx:%d", rx_frame->vdev_id, wdev->netdev->ifindex); cfg80211_debug("Indicate frame over nl80211, idx:%d", wdev->netdev->ifindex); #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)) cfg80211_rx_mgmt(wdev, freq, rx_frame->rx_rssi * 100, Loading Loading @@ -129,10 +125,6 @@ static void wlan_p2p_action_tx_cnf_callback(void *user_data, struct wireless_dev *wdev; bool is_success; cfg80211_debug("user data:%pK, action cookie:%llx, buf:%pK, len:%d, tx status:%d", user_data, tx_cnf->action_cookie, tx_cnf->buf, tx_cnf->buf_len, tx_cnf->status); psoc = user_data; if (!psoc) { cfg80211_err("psoc is null"); Loading
os_if/linux/qca_vendor.h +169 −0 Original line number Diff line number Diff line Loading @@ -345,6 +345,22 @@ * user space for the SAR power limits configuration from user space. If * the driver does not get the SAR power limits from user space for all * the retried attempts, it can configure a default SAR power limit. * @QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO: This acts as a vendor event and * is used to update the information about the station from the driver to * userspace. Uses attributes from enum * 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 { Loading Loading @@ -559,6 +575,8 @@ enum qca_nl80211_vendor_subcmds { QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING = 180, QCA_NL80211_VENDOR_SUBCMD_OEM_DATA = 182, QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS_EVENT = 187, QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO = 188, QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON = 189, }; enum qca_wlan_vendor_tos { Loading Loading @@ -682,6 +700,29 @@ enum qca_wlan_vendor_attr_get_station { QCA_WLAN_VENDOR_ATTR_GET_STATION_AFTER_LAST - 1, }; /** * enum qca_wlan_vendor_attr_update_sta_info - Defines attributes * used by QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO vendor command. * * @QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_CONNECT_CHANNELS: Type is NLA_UNSPEC. * Used in STA mode. This attribute represents the list of channel center * frequencies in MHz (u32) the station has learnt during the last connection * or roaming attempt. This information shall not signify the channels for * an explicit scan request from the user space. Host drivers can update this * information to the user space in both connected and disconnected state. * In the disconnected state this information shall signify the channels * scanned in the last connection/roam attempt that lead to the disconnection. */ enum qca_wlan_vendor_attr_update_sta_info { QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_INVALID = 0, QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_CONNECT_CHANNELS = 1, /* keep last */ QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_AFTER_LAST, QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_MAX = QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_AFTER_LAST - 1, }; /** * enum qca_wlan_802_11_mode - dot11 mode * @QCA_WLAN_802_11_MODE_11B: mode B Loading Loading @@ -799,6 +840,21 @@ enum qca_wlan_auth_type { * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_SGI_ENABLE: * Remote station short GI enable/disable * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_PAD: Attribute type for padding * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_BEACON_IES: Binary attribute * containing the raw information elements from Beacon frames. Represents * the Beacon frames of the current BSS in the connected state. When queried * in the disconnected state, these IEs correspond to the last connected BSSID. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_DRIVER_DISCONNECT_REASON: u32, Driver * disconnect reason for the last disconnection if the disconnection is * triggered from the host driver. The values are referred from * enum qca_disconnect_reason_codes. If the disconnect is from * peer/userspace this value is QCA_DISCONNECT_REASON_UNSPECIFIED. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ASSOC_REQ_IES: Binary attribute * Applicable in AP mode only. It contains the raw information elements * from assoc request frame of the given peer station. User queries with the * mac address of peer station when it disconnects. Host driver sends * assoc request frame of the given station. Host driver doesn't provide * the IEs when the peer station is still in connected state. * @QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AFTER_LAST: After last */ enum qca_wlan_vendor_attr_get_station_info { Loading Loading @@ -829,6 +885,20 @@ enum qca_wlan_vendor_attr_get_station_info { #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)) QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_PAD, #endif QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_RX_RETRY_COUNT, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_RX_BC_MC_COUNT, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_FAILURE, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_AVG_RSSI_PER_CHAIN, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_SUCCEED, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_RX_LAST_PKT_RSSI, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_EXHAUST, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_TOTAL_FW, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_FW, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_REMOTE_TX_RETRY_EXHAUST_FW, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_BEACON_IES, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_DRIVER_DISCONNECT_REASON, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_ASSOC_REQ_IES, /* keep last */ QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_AFTER_LAST, QCA_WLAN_VENDOR_ATTR_GET_STATION_INFO_MAX = Loading Loading @@ -992,6 +1062,7 @@ enum qca_nl80211_vendor_subcmds_index { QCA_NL80211_VENDOR_SUBCMD_ROAM_INDEX, QCA_NL80211_VENDOR_SUBCMD_OEM_DATA_INDEX, QCA_NL80211_VENDOR_SUBCMD_REQUEST_SAR_LIMITS_INDEX, QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO_INDEX, }; /** Loading Loading @@ -4032,6 +4103,104 @@ enum qca_wlan_vendor_attr_offloaded_packets { QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_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 /** Loading
os_if/linux/scan/src/wlan_cfg80211_scan.c +2 −1 Original line number Diff line number Diff line Loading @@ -1372,7 +1372,8 @@ int wlan_cfg80211_scan(struct wlan_objmgr_vdev *vdev, pssid->length); } } if (request->ssids || (opmode == QDF_P2P_GO_MODE)) if (request->ssids || (opmode == QDF_P2P_GO_MODE) || (opmode == QDF_P2P_DEVICE_MODE)) req->scan_req.scan_f_passive = false; if (params->half_rate) Loading
os_if/linux/wlan_osif_request_manager.c +1 −7 Original line number Diff line number Diff line /* * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. * Copyright (c) 2017-2018, 2020 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -101,8 +101,6 @@ struct osif_request *osif_request_alloc(const struct osif_request_params *params request->cookie = cookie++; qdf_list_insert_back(&requests, &request->node); qdf_spin_unlock_bh(&spinlock); cfg80211_debug("request %pK, cookie %pK, caller %pS", request, request->cookie, (void *)_RET_IP_); return request; } Loading Loading @@ -132,8 +130,6 @@ struct osif_request *osif_request_get(void *cookie) if (request) request->reference_count++; qdf_spin_unlock_bh(&spinlock); cfg80211_debug("cookie %pK, request %pK, caller %pS", cookie, request, (void *)_RET_IP_); return request; } Loading @@ -142,8 +138,6 @@ void osif_request_put(struct osif_request *request) { bool unlinked = false; cfg80211_debug("request %pK, cookie %pK, caller %pS", request, request->cookie, (void *)_RET_IP_); qdf_spin_lock_bh(&spinlock); request->reference_count--; if (0 == request->reference_count) { Loading