Change get configuration handlers function prototype
to use link info pointer as function argument.
Existing callers moved to deflink pointer.
Change-Id: Ie3bfac53e588bbd685435251481682cd4781b5bf
CRs-Fixed: 3521517
Modify the function prototype to accept link info pointer as
function argument to get/set the per link info. The existing
callers moved to deflink pointer.
Change-Id: I8088e1c4b232523b4421be2a005af1a45d28837c
CRs-Fixed: 3521477
Modify the APIs to accept link info pointer as function argument.
Existing callers moved to deflink pointer in adapter.
Change-Id: Ieb519156539344aaa473886b682fad69ae9f5e18
CRs-Fixed: 3521357
Modify the APIs which handle the IOCTL get/set commands in the driver.
Use link info pointer as function argument. Existing callers moved
to deflink pointer in adapter.
Change-Id: I39aed211a49fde4f21a859e11595af0e8ba399c5
CRs-Fixed: 3521228
To request linkspeed on per link from the BSSID saved in the station
context of each link, change the function prototype to accept link info
pointer as argument. The station context will later is accessed from
this link info pointer to send request to FW on that particular VDEV.
Existing callers moved to deflink pointer in adapter.
Change-Id: I87207455d71967c69dcdfa7680c716b4da5d5e8a
CRs-Fixed: 3520911
Vendor command pre_doit holds wiphy lock inside kernel and calls
into driver vendor command handler and from driver vendor command handler
if unregister_netdevice() is called it will try to acquire same wiphy lock
inside kernel cfg80211_netdev_notifier_call() and deadlock.
To fix this issue from driver vendor command handler for pre CAC adapter
stop call cfg80211_unregister_netdevice to avoid recursive wiphy locking.
Change-Id: I24d790f86bf8fb5482fbf56c56d0ce4be50a3aec
CRs-Fixed: 3535131
Remove only 6 GHz using policy_mgr_is_6G_chan_valid_for_ll_sap()
if WLAN_FEATURE_LL_LT_SAP_6G_SUPPORT is not defined.
Change-Id: I828c61adf3c88c2a5100fff603a007d8a6c85a88
CRs-Fixed: 3532992
In api mlme_connected_chan_stats_request(), dereferencing
of freed pointer is observed by static analysis tool.
Remove dereferencing of the freed pointer in the api
mlme_connected_chan_stats_request().
Change-Id: Ic09b68395a9c3c67aab4a704a915b0d92a00e16d
CRs-Fixed: 3530020
MLO sta + 2nd sta case, 2nd sta got pcl type: PM_NONE, total pcl
freq num 0, but dual sta follow pcl strictly, so PCL 0 is sent to F/W,
failed to roam to any freq.
To fix it, for PM_NONE and PCL freq num 0 case, don't follow pcl strictly,
send all valid freq as PCL to F/W.
Change-Id: Ie3529fd85dcfcfd3cc44ed6c25fc8fefe7a6c769
CRs-Fixed: 3534201
Currently host driver does not allow NAN+SAP SCC on unsafe channel.
With this change add support to allow NAN+SAP SCC on unsafe channel
if g_nan_sap_scc_on_lte_coex_chan ini is enabled.
Change-Id: Iccc37f28d8523cd335cce5fcfb0293f3f8cc8959
CRs-Fixed: 3531489
During FTM mode start modules there is possibility from recovery path
bus bw timer stop is being called before dp_ops gets initialized.
This will lead to accessing uninitialized dp_ops access, to avoid this
check for conn mode before accessing the dp_ops and skip timer stop.
Change-Id: I3aef52f70bc0ea6294c87e7cd889ec63a4a6e3a4
CRs-Fixed: 3531437
The roam candidate frame event gives the beacon of
the roam candidate. The SSID IE check expects minimum
size of the SSID to be 2 bytes. Because of this, the
candidate with ssid size 2 or less is not cached to
the scan table.
Fix this by not considering the size of the SSID IE.
Change-Id: Ifbe36ac8cf0f9c75a3830a2826f5330fa300df5b
CRs-Fixed: 3512310
Currently, PCL returns all 5 GHz channel and SCC channel for SAP
when an ML-STA is present. But this may lead to a case
where the CSA request might be for a DFS channel which needs CAC.
This needs a dedicated mac and ML-STA can't move to MLMR in such
cases. When firmware attempts to move STA to MLMR from MLSR,
firmware asserts as the other mac is occupied by DFS SAP for
CAC operation.
So, allow CSA to a DFS channel only if the channel is present in
PCL list as it covers the supported channel list anyway. Fix
policy mgr table entries also by allowing SCC channels only.
Change-Id: I079fa6beea97fcd7c926ad4bd2bf928a0442d146
CRs-Fixed: 3484572
Currently host driver uses wma->interfaces to fetch vdev
info.
This change is to use object manager instead of wma interface
to check vdev info.
Change-Id: I356e002ba6b43382e96c8e2da6d433df68de603b
CRs-Fixed: 3525139
Driver doesn't enable RSO currently for SL + Open auth cases.
Enable the RSO from connect complete path for open auth. Add changes
to enable the RSO only after all the ML links are up in case of
N-link MLO.
Change-Id: Ie3540493660e3605fe6739dc6d7706782b8a78ea
CRs-Fixed: 3509724
Add vdev id sanity check when searching SAP adapter
on DFS channel, to avoid accessing obsolete adapter(s) stopped already.
Change-Id: I0ea565f343e449132de54367566656a6d6f989b0
CRs-Fixed: 3471773
In populate_dot_11_f_ext_chann_switch_ann API, will read current country
code from mac context which is not have the updated country code.
So, read the current country code directly from regulatory API,
wlan_reg_read_current_country.
Remove unused variables mac->scan.countryCodeCurrent,
mac_ptr->scan.countryCodeDefault and tagCsr11dinfo->countryCode.
Change-Id: Ice64ef1be5b775125ff3bcacfcab7684c6833cad
CRs-Fixed: 3529808
1.Host receives QCA_NL80211_VENDOR_SUBCMD_MLO_LINK_STATE
vendor cmd.
2.Parse new attribute
QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONTROL_MODE.
3.Restore mlo link(s) state as per driver.
Change-Id: I79327618a007cd1f50ca1eafcb3633bcbac2e13f
CRs-Fixed: 3529507
Currently mlo interfaces are not getting cleaned up properly
during virtual interface delete. During the driver unload
sequence host is cleaning up these link adapters but not
removing the DSC vdevs associated with these which leads
to memory leakage.
To address this issue, de-initialize and close link adapters
during virtual interface delete properly.
Change-Id: I427b9ef5ec82b4ad651bd6d4a36b9fef3f120c99
CRs-Fixed: 3515367
1. Host receives QCA_NL80211_VENDOR_SUBCMD_MLO_LINK_STATE
vendor command.
2. parse the new attribute
QCA_WLAN_VENDOR_ATTR_LINK_STATE_MIXED_MODE_ACTIVE_NUM_LINKS
and get the number of MLO links to operate in the active state.
3. If any of the links is in an inactive state due to concurrency,
we need to reject the request.
4. Host sends to FW via WMI command WMI_MLO_LINK_SET_ACTIVE_CMDID
via the below WMI attributes with mode
WMI_MLO_LINK_FORCE_ACTIVE_LINK_NUM and set the wmi flag
control_flags to indicate if FW need to use force link number
instead of force link bitmap.
Change-Id: I7596c4815630563cbc419e0e9df28f1330775334
CRs-Fixed: 3529488
The API uses BSSID in sta_ctx which is per link data structure now.
To request the link speed on each link info, modify the API
to accept link info pointer as argument. The caller can pass
link info pointer corresponding to the sta ctx.
Change-Id: Ideb79265b64d959d6464c5d5bfc9a6380faf3ede
CRs-Fixed: 3520873
Modify the following functions to take link info as function
argument to get the RSSI and SNR values from FW on per link.
The existing callers moved to deflink pointer in adapter.
1) wlan_hdd_get_rssi()
2) wlan_hdd_get_snr()
Change-Id: I2ebefab54192ca7e7672794d446b41a6d0dffec6
CRs-Fixed: 3520838
Modify the API to have link info pointer as function argument
so the caller can request per link stats to query from DP stats.
Existing callers moved to deflink pointer in adapter.
Change-Id: Ie231a7a024d1a05cdb2d9e8cf022c4f5bf3e2947
CRs-Fixed: 3520700
To get the peer Rx stats per link, modify the following API
to take link info argument which corresponds to the VDEV for
which the stats are to be fetched as saved in respective
stats structure in link info pointer.
The existing callers moved to deflink pointer.
1) wlan_hdd_get_peer_rx_rate_stats()
Change-Id: I0c3b1532ef9352f00d871b2c9b3073d72bef1bd4
CRs-Fixed: 3520672
Modify the following API to request station stats on per link
in the adapter. Request and store FW stats corresponding to
the VDEV in the link info structure.
The existing callers moved to deflink pointer.
Change-Id: I6cc9dd7609ce754e2ab7bcb53977aa6637051143
CRs-Fixed: 3520654
To fetch the SAP stats per link, change the function prototype to take
link info pointer as argument. The callers moved to deflink pointer.
Change-Id: I4e5850e055a90ca21cd75deb530dbd179476ba59
CRs-Fixed: 3518207
To save per link big data stats received from FW and later send to
userspace, move the big_data_stats member in adapter to link_info.
Update the existing references to deflink in adapter.
Change-Id: I0b68e60f51c4f7b9dbe996d71754530f53350cb2
CRs-Fixed: 3518185
To query station stats on per link, change the following API
function prototype to pass link info pointer as argument.
The caller can pass the link info corresponding to the link.
The existing calllers moved to deflink.
Change-Id: Iad84be510cfcc3154124d28f6b9902a39e711a8c
CRs-Fixed: 3518094
Modify the following API to take link info pointer as function
argument to fetch per link bcn protect stats.
The existing callers moved to deflink pointer in adapter.
1) hdd_add_pmf_bcn_protect_stats()
Change-Id: I0a09238586c6dbb8b7e7a49ddfb9dca211ff3428
CRs-Fixed: 3517954
To fetch the each link's individual stats, modify the following APIs
to take link info pointer as function argument.
Existing callers moved to deflink pointer in adapter.
1) wlan_hdd_update_rssi()
2) wlan_hdd_update_rate_info()
3) wlan_hdd_get_sta_stats()
Change-Id: I22cfa45c045f4fea0860e756ae088f7889ed4d62
CRs-Fixed: 3517920
Iterate through all link info in adapter to return any VDEV
in connecting state.
If found the API will return link info pointer corresponding
API: hdd_get_sta_connection_in_progress()
Change-Id: I5433ccdf9cb7be26e38ab6523b29009afa3e8c99
CRs-Fixed: 3517822
Modify the following API to return link info pointer where the
matching BSSID is found. As the API iterates all the indices in
the link info array, keep a NULL BSSID check to avoid false match
with uninitialized link info pointer.
The existing callers moved to deflink pointer in adapter.
Change-Id: I6f71344b86d53488c30211be8bef730e133876c2
CRs-Fixed: 3517810
The adapter argument to hdd_cm_rec_connect_info() API is not
referenced anywhere in the function making it obsolete, hence
remove the argument.
Change-Id: I45682ada67bf74f6acafbc5ca1db7f1aa2468dd0
CRs-Fixed: 3517807
Modify the following API to take link info pointer as function
argument to copy the hdd_stats from FW into the corresponding
VDEV stats in adapter.
The existing callers moved to deflink pointer in adapter.
Change-Id: I5a776930e833b2c864eca2c3131d5a69e9b54f81
CRs-Fixed: 3517804
As the APIs retrieve information from per link data structure
changing the function prototype to take link info as argument
so that callers can query for each link info.
Existing APIs changed to deflink pointer in adapter.
1) hdd_is_legacy_connection()
2) hdd_get_tdls_connected_peer_count()
Change-Id: I29bc2b32583ecc7af26e295a6b338b4261b1ed23
CRs-Fixed: 3517800
Modify the following API to configure antenna switch for TDLS
to take link info pointer as function argument.
Pass the link info corresponding to VDEV. The existing callers
moved to deflink pointer in adapter.
API: wlan_hdd_tdls_antenna_switch()
Change-Id: Ic81ca38cea0314767bfc988d013f7f21eaebc40e
CRs-Fixed: 3517796
To get the Tx/Rx NSS configuration per link in adapter, modify
the following function prototype to take link info as argument.
Existing callers moved to deflink pointer.
1) hdd_get_sta_rx_nss()
2) hdd_get_sap_rx_nss()
3) hdd_get_sap_tx_nss()
4) hdd_get_sta_tx_nss()
Change-Id: I735ab21d5c0d49a570721cc2993ab7e7c76a2089
CRs-Fixed: 3517793