Add sync API for disconnect to wait for disconnect to complete.
This can be used during vdev delete sequence to move the vdev and
connection manager SM to init state before VDEV is marked logically
deleted.
Change-Id: Id562e444cf1995d800b8268f906f811f143d0fc9
CRs-Fixed: 2790885
Change Ic166c112189ef79a84f61d16e7e04a6334c61178 renames
few files for osif in connection manager, but does not
take care of the compilation issue after rename of the files.
Add a change to take care of the compilation errors in
connection manager module.
Change-Id: Icecb3f7aa625a65b835c15890fc019917e2b9446
CRs-Fixed: 2786828
The firmware sends a new status code to indicate an already suspended
TWT session. Update the status code enum to represent this state.
CRs-Fixed: 2784214
Change-Id: I7663ae1e1477919b7e93b0dcebd5287dc3e87263
Currently connection manager does not update crypto params
of connect request based on RSN/WPA/WAPI IEs.
Add logic to update the connect params based on IEs.
Change-Id: I74aba3c061ed5fc203be7270dcc244f14718c781
CRs-Fixed: 2777574
Introduce a vendor command for medium assessment through
QCA_NL80211_VENDOR_SUBCMD_MEDIUM_ASSESS.
Change-Id: Iacce974c862a9899de853be70858a47ae719b541
CRs-Fixed: 2766103
The naming of the osif files and functions is not correct as
these files and functions include wlan_cfg80211 as prefix
instead of osif.
Correct file name and function name should contain the component
name first, followed by feature name followed by method.
Change-Id: Ic166c112189ef79a84f61d16e7e04a6334c61178
CRs-Fixed: 2780298
Add reason code enum and prints in connect and disconnect handlers,
also take care of the vendor reason code during disconnect resp.
Change-Id: I1298e0739bd08d7d43fcb3839a07459819207196
CRs-Fixed: 2778233
Rename connection manager osif context and move the init and deinit
to osif from umac.
Change-Id: Id320e1b0e9bf53f1a2aa4a5bc536d6dec7f63bf2
CRs-Fixed: 2779890
Add a QCA vendor subcommand QCA_NL80211_VENDOR_SUBCMD_UPDATE_SSID
to update the new SSID in hostapd. NL80211_ATTR_SSID is used to
encapsulate the new SSID.
Change-Id: I0c6e00afefa8cf00ceb58b4cdf72958f2ece8307
CRs-fixed: 2774888
Add connection manager connect response handler in osif to
handle and send the connect response to kernel.
Change-Id: If675055cb2133e64b4b32a47271b12a59eac4a66
CRs-Fixed: 2765977
Add new QCA vendor attributes to configure RSNXE Used (FTE), ignore CSA,
ignore SA Query timeout and OCI frequency override with QCA vendor command
QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION for STA testbed role.
Change-Id: I8f46361023444661bd522c8731b4edd864c8cff6
CRs-Fixed: 2759772
Add support to get number of MIC errors, missing MME incidents, and
packet replay incidents observed while using IGTK/BIGTK keys when PMF
and/or beacon protection features are enabled.
These counters applicable only for STA mode and user gets those
through the QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO vendor command.
Change-Id: Ifae1fd43f41f280a5b677b89aa90bbb51bb96930
CRs-Fixed: 2757861
Add changes in connection manager to add and delete connection mgr
request from the cm ctx list. Also make changes to add support
to get cm id for these requests.
Change-Id: I33706e01ea684e8c3524407ca9b4c67d438db8a5
CRs-Fixed: 2770693
Currently connection manager command id and source of the
connect/disconnect request is not getting updated in osif.
Add a change to update the connection manager command id and
source of the request in osif.
Change-Id: Icbf33680bd898ac026ac50f08b57641dfe481f55
CRs-Fixed: 2765976
This change adds QCA_NL80211_VENDOR_SUBCMD_MBSSID_TX_VDEV_STATUS,
and enum for qca_wlan_vendor_attr_mbssid_tx_vdev_status
Change-Id: I4c3f070b29c25f095afdfd587e3f35cb160aefc7
CRs-Fixed: 2759232
Add gpio configuration vendor interface to set target
gpio configuration and output info, meanwhile add
GPIO component id
Change-Id: I0b551cd63b61675406fe37549f2efeca1a2999bf
The API wlan_cfg80211_scan_done() abstracts the kernel
API cfg80211_scan_done().This should be made accessible
throughout the driver by making it non-static.
Change-Id: Ic1a882a115d11339909e62e53f040774d5370981
This commit introduces additional stats to query through
QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO.
Change-Id: Ibc713d1da81a5bf8fa267a205680aec5539630ce
CRs-Fixed: 2758484
Currently, list empty checks for scan_req_q is done outside the lock.
This is causing synchronization issue during scan and SSR/vdev delete
in parallel.
To avoid this, check for scan_req_q empty inside the lock.
This change also updates the return type of
wlan_schedule_scan_start_request to QDF_STATUS, which is expected by
caller API.
Change-Id: I8b6febdd98af7856fb047b1c9d852e4944a137b5
CRs-Fixed: 2763173
Add support to configure the number of chains over the nl
vendor command
QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS
QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS.
Change-Id: I81eeda348efe36e03620687e81c082d3869fcd35
CRs-Fixed: 2756676
Add new vendor command QCA_NL80211_VENDOR_SUBCMD_WIFI_FW_STATS
which is used for wifistats. Also remove
QCA_NL80211_VENDOR_SUBCMD_HTT_STATS which is wrongly used
in place of QCA_NL80211_VENDOR_SUBCMD_PEER_FLUSH_PENDING
Change-Id: Ia73a09419c22c1206f8f933b9cf4b7f22b0399fd
The mac address is tried to be logged from a NULL
bss data pointer, which leads to unwanted behavior.
Remove the logging of mac address from the NULL
bss data pointer.
Change-Id: I83a9e8b1dac0bd4983bf074863987d39187f9db9
CRs-Fixed: 2761731
Add support for vendor attributes to update channel tx_time
and rx_time to the user space.
Change-Id: Ifdb50d8f7bcdcf8a560d174cd34efcb1991768a9
CRs-Fixed: 2757211
This commit does the following enhancements to the TWT interface:
Corrects the documentation for QCA_WLAN_TWT_SUSPEND and
QCA_WLAN_TWT_TERMINATE. Specifies that these operations carry the
parameters obtained through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. This
interface is very recently introduced and missed to document the same.
There are no user space or driver components using this interface yet.
Hence, enhancing/modifying the interface.
Corrects the documentation for
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_DURATION. Mentions that the units it
represent is a multiple of 256 microseconds rather than a TU. The host
driver always interpreted this as an unit in 256 microseconds and there
are no user space implementations that are impacted with this change in
the unit. Hence, modifying the documentation.
Introduces QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT2_TWT_SIZE, which is
similar to that of QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT_TWT, but carries
an offset/data of u32 size.
Introduces MAC_ADDR attribute to represent the peer for the TWT setup
and resume operations.
CRs-Fixed: 2755972
Change-Id: I1c43b9942489177af9b48639d1cb4fd20dfdd80b
Introduce additional attributes for the TWT response parameters from the
host driver. Also, add ATTR_TWT_RESUME_FLOW_ID for TWT Resume request.
Change-Id: I9fb2d2382acd5d82f8a3322c369d5e580a0a1442
CRs-Fixed: 2751902
Add connect functions to convert kernel specific connect
request to connection manager specific connection request
for connection manager infrastructure.
Along with the above functions, add the file structure for
connect, disconnect and roam functions for connection
manager infrastructure.
Change-Id: Id4e389d06cea6e39327faef0c119275741574785
CRs-Fixed: 2739318
Currently, vendor scan request is enqueued in the scan queue first and
then posted into the scheduler queue. Now if there is an SSR in between,
then scan request will be freed twice. Once in SSR context and again
in the caller context because scan scheduling fails due to user disabled
the scan.
To resolve this, post the scan request in scheduler queue first. Once
scan request scheduling is success, then enqueue the scan request in
scan queue. This approach can lead to a race condition like after
scheduling scan request, host may get scan response from firmware even
before the scan request is queued. To avoid this race, scan request
scheduling and enqueue should be protected by scan_req_q_lock.
Change-Id: Ic26da0181fb9a902a8a4abb8f68d9fc668f1b3f2
CRs-Fixed: 2714495
The Spectral module uses the first vdev of a pdev for scanning.
For MCL platforms all the vdevs are associated with a single pdev
and this may cause a mismatch between the vdev intended by user and
the vdev used by driver. To avoid this MCL platforms pass a reference
to vdev on which Spectral scan is triggered. WIN platforms
can continue to use the old approach of using the first vdev of a
pdev by passing NULL for vdev to vendor command handlers.
CRS-Fixed: 2725777
Change-Id: I1a7278bdcbcc2b706aa292b33c17546190dac082
It starts spectral scan without vdev object, and uses the first vdev
as current vdev. which cause vdev mismatch in some platforms. So pass
vdev object or id when finding current vdev.
Change-Id: Iab55afbe2c98906021a008918f186d3d2dce5871
CRS-Fixed: 2716460
LOWI application provides the interface name as part of lowi message to
host driver. Add support in the driver code to get the corresponding
pdev_id and pdev from interface name using dev_get_by_name().
Change-Id: I267b95c843a9bb1dd0c58ff45767f31999500b1c
CRs-Fixed: 2711423
Userspace can configure different roam control params as
defined in qca_vendor_attr_roam_control through the roam subcmd
QCA_NL80211_VENDOR_SUBCMD_ROAM and the below attributes:
QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_SCHEME
QCA_ATTR_ROAM_CONTROL_CONNECTED_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_CANDIDATE_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_USER_REASON
Introduce above new attributes for roam subcommand.
Change-Id: I680ac7973cbe282673cf8cc065a7b643d4503d5e
CRs-Fixed: 2729127
This commit introduces the vendor command to get the configured band
through QCA_NL80211_VENDOR_SUBCMD_GETBAND.
Change-Id: I3f3de10a3bd32eda2634b400d5191bf67a46eaaa
CRs-fixed: 2729768
This commit defines a new vendor interface
QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT to configure TWT.
Change-Id: I077c26e56dccbcead9d5e770700813b65bb8aff4
CRs-fixed: 2729753
Also introduce a new attribute QCA_WLAN_VENDOR_ATTR_SETBAND_MASK
to carry this new bitmask enum. This attribute shall consider the
bitmask combinations to define the respective Band combinations
and substitutes QCA_WLAN_VENDOR_ATTR_SETBAND_VALUE.
Change-Id: Ib00d93147e19593f24bd317c3962e6454e4eafc2
CRs-fixed: 2726283
Currently api osif_nl_to_crypto_auth_type is trying to convert
the nl specific auth types to driver specific auth types but
it does not return the correct value, this api always returns
auth type as none as it never updates the return value after
the initialization.
While parsing WPA and WAPI, open authmode and cipher and akm are
set as none by default.
Thus return converted value of the auth type. Also fix the
return type of the akm conversion. Also avoid setting
open authmode and cipher and akm as none while parsing WPA
and WAPI ie.
Change-Id: I260e58a28ddbf6b20a290488e205586a624c9b46
CRs-Fixed: 2725323
There should be no reason to have macro CONFIG_CRYPTO_COMPONENT.
Replace CONFIG_CRYPTO_COMPONENT with WLAN_CONV_CRYPTO_SUPPORTED.
Change-Id: Ief2b015a8e48c85c383470c669254abfa7404585
CRs-Fixed: 2705994
Defines the attribute in SET(GET)_WIFI_CONFIGURATION to dynamically
configure NSS.
Change-Id: Iae0db4ce3aef82c2c075095fea6c34731b86e40b
CRs-Fixed: 2708940
Add a QCA vendor subcommand QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO with
attributes defined in qca_wlan_vendor_attr_get_sta to get information
for BSS in STA mode or for peer STAs in AP mode. This vendor sub command
can be used to get STA information from driver to userspace.
The attributes defined in enum qca_wlan_vendor_attr_get_sta_info
are used to encapsulate required information.
Change-Id: I9747516de377a2be23cca6023f2e92f014e42ac2
CRs-Fixed: 2591613