HE 6GHz band capabilities are copied from wrong byte offset hence
incorrect capabilities are configured to FW.
Fix the 6GHz band capability offset and size values while
configuring it to FW.
Change-Id: I0cc97610e32f3e5fbd64c6ed72d3591ae5127471
CRs-Fixed: 2645844
Currenly only hdd initializes channel avoidance from platform.
Policy manager should also initialize channel avoidance from platform.
Change-Id: Iefcaae5ff4789d7d334ab2cab693f5dedfd2ca46
CRs-Fixed: 2645512
Introduce an INI "ap_tx_pwr_scoring" to indicate firmware about ap tx
power weightage so that firmware can use ap tx power weightage to
calculate candidate AP's score.
Change-Id: I8831c571162f044f4ae204ef0edfc59942f36837
CRs-Fixed: 2647115
Add pointer assoc_req and assoc_rsp NULL check before sending
connection status in hdd_connect_result().
Change-Id: Ia0ba2140e82abdaf3dde74035fec57f897d9e8a5
CRs-Fixed: 2642567
Add pointer mlme_obj NULL check before use in wma_vdev_start_resp_handler,
if NULL, return error directly.
Change-Id: If5826f6542786c136ad5f807adca578f36ab4919
CRs-Fixed: 2642567
Add pointer crypto_key NULL check before use in
__wlan_hdd_cfg80211_set_default_key.
Change-Id: Ia15d2f0ac206c627c493b712fb1616a81e34d878
CRs-Fixed: 2642567
Currently, For some targets driver does not support all
AKM suits but kernel supports all akm suits which causes
compatibility issue.
Fix is to update wiphy->iftype_akm_suites and
wiphy->num_iftype_alm_suites based on the akm suits supported
by driver.
Change-Id: I06cab4654e626bc34c6bb3f8ea5f9b9beb81c82b
CRs-Fixed: 2635797
If FEATURE_BLACKLIST_MGR is enabled,
wlan_blm_get_rssi_blacklist_threshold()
would return CFG_BLACKLIST_RSSI_THRESHOLD value
else return value 0.
Change-Id: I0cf5a6561cc217412e3bc6e2a50b85985d1315d7
CRs-Fixed: 2648761
Currently QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST aren't aligned with
NUM_CHANNELS, these unalignment may cause some potential OOB access.
So replace QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST with NUM_CHANNELS
to keep unified.
Change-Id: Ib6c81a3979f2fd29ba1ec678f018a6704b599385
CRs-Fixed: 2644066
Handle send delba indication from DP. It will help DP to
do aggregation tid management.
Change-Id: I18455107ef8d042644efc8ce549a104612eec05c
CRs-Fixed: 2637485
During assoc of new peer on vdev 0 as vdev 1 has the same entry,
peer is removed from vdev 1 with trigger reason
eLIM_DUPLICATE_ENTRY. Once the peer deleted, it is added in
firmware and datapath on the new vdev 0.The add logic checks if
peer is non PMF, but here peer is PMF, then the peer is not
added to datapath and firmware. Assert will happen when deleting
it as entry is present in LIM but not in data path.
Fix: On deletion of peer on other vdev1, if peer is added in
lim on new vdev 0, add it in datapath and firmware even if it's
PMF peer.
Change-Id: I00241ae3886ae7541a68c4bc69b616dfe96948e5
CRs-Fixed: 2646623
Add host driver support for MCS 12/13, a Q-Q PHY feature.
The following changes are being introduced as a part of this
- Advertisement of the MCS 12/13 using the QCN IE
- Interaction between the Host and the FW regarding the target and
peer capabilities for the new features introduced.
- The new data structures and variables to populate and use the feature
capability
- Routines to add and parse the IE.
Change-Id: I2b91a271d30b1230ef7bb14ee08d0b9da2706db4
CRs-Fixed: 2610277
AMSDU support is advertised in addba for 2.4GHz HE connection and
for 5G connection.
Fix the band check to allow amsdu support for 6GHz connection.
Change-Id: Ia34c8b5c2944fb9fb9b8b906a602129cad07e2d1
CRs-Fixed: 2645853
After channel switch, driver should indicate new operation channel to
kernel, otherwise wireless_dev->chandef still uses old channel whose
status may become disable when radar is detected in the old channel.
In hdd_chan_change_notify use frequency instead of channel number.
Notify channel information to kernel after channel switch.
Change-Id: I6dbf3d61978e4c35fe41b438397e635d62378719
CRs-Fixed: 2639076
Currently vdev private data osif_priv gets allocation
separately and requires to be de-alloc separately.
This de-alloc needs to be taken care at different places
based on the vdev create failure or whenever vdev is freed.
As vdev private data is associated to the vdev and needs to
be freed if vdev is not there, it is good to allocate this
private data along with vdev so that there is no need
to maintain allocation and de-allocation of vdev priv data
separately.
As part of this change alloc the vdev priv data along with
the vdev allocation as a single memory and free of the vdev priv
data will be taken care as part of vdev free.
Change-Id: I8d4b94cae564c7f2498f7b8cc8aa84a2edd6420d
CRs-Fixed: 2634998
Consider SBS mode and 6GHZ, can't force scc only by band.
for example: 1 port on 5G, another on 6G, they may be on same
MAC, may be not. Just compare mac id from connection list
directly.
Change-Id: I5bfc9cd14b058a6a4f402c0e2d2f9ae7da8287fb
CRs-Fixed: 2646499
prev_bssid of cfg80211_connect_params can only be accessed when there
is prev_bssid field in struct cfg80211_connect_params.
Change-Id: I370bb76e180b9eae1b34f8fd33e9551f6e42bf65
CRs-Fixed: 2642334
Spectral scan and CFR components failed in pdev open since no valid
wmi handle in pdev. This change sets wmi handle to pdev before calling
dispatcher pdev open in hdd layer.
Change-Id: I9461220b309f78e33770e423e24c97841b064a0f
CRs-Fixed: 2637140
When suspend/resume timeout, it will trigger recovery,
current as it direcly trigger assert to fw, which will
take more time to dump ramdump, so DPM WD timer expired.
To avoid DPM WD timer expired, trigger ramdump in a
separate workqueue, so it will not block DPM WD timer.
Change-Id: I1a9349a05a37544329946270065037cd90172fc7
CRs-Fixed: 2645163
Host driver sets broadcast keys followed by unicast keys for
FILS connection. This results in the data packet sent before
unicast set key and peer pn was reset. Sending broadcast keys
first will allow firmware to enable WAL_PEER_ALLOW_DATA and
data tx could start without unicast keys being set. Due
to this TX packet will go unencrypted and TX will fail without
ACK from peer AP, peer pn will be set to 2, after this unicast
key got set and this resets the peer pn to 1. And when next
frame TX was done, pn check failed and firmware assert occured.
Set the unicast keys to firmware first followed by the broadcast
keys for FILS case.
Change-Id: Ia498709ac524e95b831cc7ccdd17e6fc7ae0b130
CRs-Fixed: 2633632
Currently, netif queue history is displayed for each adapter
by iterating over adapter list in the HDD context. But, this
iteration is not safe when unregistration of netdev going in
parallel in other thread. In case the adapter is removed, the
iteration will result in NULL pointer dereference.
Avoid iterating over adapter list, add call newly added API, which
is adapter based, to get netif queue history. When iteration over
adapter list is needed, call hdd_for_each_adapter_dev_held API.
Change-Id: I45fd8cd80cf21931ee352d612b10752ef0837c06
CRs-Fixed: 2639882
Fix print format in core/dp/txrx3.0/dp_fisa_rx.c
Both cds_ieee80211_common_i.h and net/ieee80211_radiotap.h define
IEEE80211_CHAN_*, so only one header is needed in wlan_hdd_tx_rx.c
Change-Id: Ie9c3a7ea04e9b71acf96f007515a7ae6c0def938
CRs-Fixed: 2644359
Currently there is no synchronized access for sta_info. Because of this
memory use after free is getting triggered.
To resolve this, use a reference count for sta_info to check whether it
is in use or not before freeing.
Change-Id: I696461a1f53f4cc4739963f3f97ada31d3fa15f3
CRs-Fixed: 2637074
In SAP on/off stress test, when hostapd call hdd_start_adapter
to create vdev, vdev2 will be created while vdev1 doesn't be
deleted physically even if vdev1 is already destroyed logically,
then hostapd issue acs operation, currently use mac address to
get vdev in sap_channel_sel, because vdev2 is using the same mac
address as vdev1 and vdev1 is still in vdev_list at this point,
so will find vdev1 firstly but will return failure due to vdev1 is
WLAN_OBJ_STATE_LOGICALLY_DELETED status, then will cause acs fail.
Fix is to use vdev_id to get vdev in sap_channel_sel.
Change-Id: I89ae3e847b725c2b64331536bc7c1de3fffce0bd
CRs-Fixed: 2640850
Handle vdev stop req failure and delete BSS peer and move the
VDEV SM to init state.
Change-Id: I48044d153a281aedfeeb90bc97c9772dea0ca284
CRs-Fixed: 2644218
Few NAN/NDP logs are redundant in the current logging infra.
Optimize the same and add few necessary logs.
Change-Id: Ie261db317af48955a16269539948ff1596c4bbcb
CRs-Fixed: 2644418
Check the supported bandwidth capability bits to set the
160MHz and 80p80MHz mcs map in HE capabilities that are
configured to FW.
Change-Id: If7ff882a99650f9771b77dc28adf9ebcbf64a00c
CRs-Fixed: 2625166
Currently the hotspot fail happens if the roaming is in
progress because of the check in start bss.
Ignore it and just do disable roaming to the FW.
If the roaming was in progress, it would disable it,
or it would do a disconnect if the EAPOL was in progress.
This is done to enable the hotspot as connect would be
taken care by the supplicant automatically, but the hotspot
needs user intervention.
Change-Id: I0030f9affe60c064d490795be92ae035923738aa
CRs-Fixed: 2640136
Presently in the driver, the function __cfg80211_stop_sched_scan
clears rdev->sched_scan_req only when the sched_scan_stop returns
success. If it returns a failure, then its next invocation due to the
clean up of the second interface will have the dev pointer corresponding
to the first one leading to incorrect memory access.
To resolve this issue, return 0 for stop_sched_scan irrespective of the
return status.
Change-Id: I129e3e9c6d9f6a688d0aa97be120ba9731e8df37
CRs-Fixed: 2623160
When AP rejects assoc request based on poor rssi
host will put the AP in blacklist mgr list, only when
rssi value improves by threshold value,should the
STA try to connect to AP.
Change-Id: I78009b89ea07afdd5f3381973a9eb7ec1f73d1b5
CRs-Fixed: 2632015
If there is no STA/P2P CLI on same MAC of SAP/P2P GO,
SAP/P2P Go needn't switch channel to force scc.
Change-Id: I529a57f73f529e41b8c0097fccabbe3e0e516993
CRs-Fixed: 2643106
Check if any interface is up and if no interface is up
do not add monitor mode.
Change-Id: I2e1218a14881f597885334c0a195758ed35c5e5b
CRs-Fixed: 2644285
mibstats_lock is a global variable, current it init
per adapter, so it will fail when init at 2nd time.
Make sure it only create once.
Change-Id: Ia8a57d049fabe311d5b353b5aa612ffa225cbc61
CRs-Fixed: 2643396
In pe_disconnect_callback(), while processing deauth/disassoc
frame received after emergency deauth roaming failure, the
reason code is extracted before stripping the ccmp iv, mic trailer
from the unicast frame and mmie is not stripped in case of broadcast
deauth frame. This results in incorrect reason code passed to
userspace.
Strip the ccmp iv, mic trailer from unicast deauthentication/
disassociation frame and strip the mmie from the broadcast
deauthentication/disassociation frame.
Change-Id: I07d7b4515471150d74d796ed6da2f87a928e6e35
CRs-Fixed: 2634822
sap_ctx->csr_roamProfile.op_freq is already channel frequency.
Do not call wlan_reg_legacy_chan_to_freq for it.
Change-Id: I20ce4eb8852087175c0fae4a7a9dd5e3168e1f24
CRs-Fixed: 2643218
Enable IPA SMMU S1 translation feature flag for
Lahaina target.
asm/dma-iommu.h file is removed in latest 5.4 kernel,
resulting in include failure. Remove as it is unused
for version 5.4 and above.
Change-Id: Ie2147f2fc2debad4d700fae5414d1d3becb28f13
CRs-Fixed: 2638580
To specify interface index in vendor event for sub command
QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO_INDEX, pass wdev pointer
to cfg80211_vendor_event_alloc().
Change-id: Ied973df111359bbab44e2c1de0888a67e1497034
CRs-Fixed: 2644349
Currently there is no check to not start unsolicited timer
if its callback is already in process. If once this timer
expires and callback is invoked, and if this timer again
tries to start before the callback completes there is no
check to prevent this timer from starting.
As the callback of the previous timer expiry is already in
progress, there is no need to start the unsolicited timer
again. To address this issue a check is added before starting
the unsolicited timer to validate if the callback is still
in progress.
CRs-Fixed: 2635740
Change-Id: Ib008562be22356c3a286fab49a61f99d6867c54e
Currently, In function hdd_get_roam_scan_ch_cb memory
is allocated for event response buffer for invalid len.
Fix is to add a validation check for len before alloction
of memory to avoid memory allocation for invalid len.
Change-Id: I14cffdace868fc19358322c36dd2589d7845b8fa
CRs-Fixed: 2640114
PMF capability information is not available in NAN peer station
data structure as host does not get full capability information
of NAN peer hence WEP bit is not set in addba response frame for
received addba request frames with WEP set.
Set the WEP bit in addba response frame if the received addba request
frame has WEP bit and it is from NAN peer station.
Change-Id: I9f0a02492b3087d0fd53a7bdde273601913ee2ca
CRs-Fixed: 2638789
Kernel 5.2+ is checking vendor policy attribute even for GET commands.
Add dummy policy attribute to following GET vendor commands:
QCA_NL80211_VENDOR_SUBCMD_GET_HE_CAPABILITIES
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_DIAG_STATS
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CAP_INFO
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS
QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET
QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI
QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS
QCA_NL80211_VENDOR_SUBCMD_GET_FW_STATE
Change-Id: I354b2de86909142ed3db0fb4a4d1545ac2b37d55
CRs-Fixed: 2639687
Host uses target_resource_config structure's "nan_separate_iface_support"
while copying resource configs in WMI_INIT_CMD.
Value of "nan_separate_iface_support" is set to 1, if firmware capability
"vdev creation allowed = 1" and "ini gEnableNanSupport = 1".
Host updates "nan_separate_iface_support" while processing an event
"WMI_READY_EVENTID" which comes after WMI_INIT_CMD send to firmware.
To update proper value of "nan_separate_iface_support" in resource
configs of WMI_INIT_CMD, host updates "nan_separate_iface_support"
while processing an event "WMI_SERVICE_READY_EXT_EVENTID".
Change-Id: I677d9e39e20646dd4ce945f166b86947d82751e2
CRs-Fixed: 2642139
Currently in the driver there are places from where recovery is
initiated. Some of those are not required as logic around them has
changed.
Remove those cds_trigger_recovery from places where it is not needed.
Change-Id: Ia5a0fa60101e1c9f44077daa83c4a20d18893c0a
CRs-Fixed: 2628691
Currently MAX values of INIs gSarSafetyReqRespTimeout
and gSarSafetyReqRespRetry leads the callback api
to execute for more than 10 seconds which is not as per
driver's scheduler design.
To avoid above issue update above INI values to limit
the execution of the callback api to execute for less
then 10 seconds.
Change-Id: Icdeaf360754b2e86119251cd66c4e8f107f08d98
CRs-Fixed: 2637653
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for the following
vendor command that is being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR
Change-Id: I5d29cc624021d489b641045e52d71db86cf3a09b
CRs-Fixed: 2634435
This is part of adding channel frequency response. Enable debug log of
CFR component.
Change-Id: I0186129270c181c26b836b56545ef64507308808
CRs-Fixed: 2637183
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.4 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_BTC_CHAIN_MODE
Change-Id: I6c6f0757df879def054862b7da09c8d7e856ff86
CRs-Fixed: 2635056
In vdev start response handler, if vdev start success, copy
desire channel to bss channel for all mode: STA, AP, IBSS etc.
Change-Id: Ie0767952bc3831235adcece5ba59ad0f32ee76fe
CRs-Fixed: 2640898
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.4 requirement add policy to following vendor
commands as part of this change:
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_START
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_STOP
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CONFIG
Change-Id: I2c7f4e6b41d341aac7b0984838c72f33a1e1ac5e
CRs-Fixed: 2634094
Define a dummy API for hdd_cleanup_ndi to avoid "Unknown symbol"
error while loading driver when WLAN_FEATURE_NAN is not enabled.
Change-Id: Ib0d07c5ac7e57cf93e3a20eb6d12c50106939335
CRs-Fixed: 2640856
Channel to frequency conversion is unnecessary in function
sap_is_conc_sap_doing_scc_dfs, issue is introduced by
'Change-Id: Ifa62248169ad7b8ff1c62cab44c92d99a8db0e45'.
Fix is to set ch_freq with op_freq directly, no need to convert.
Change-Id: I2e21956833c18240045c85bfb0837ca058069ff5
CRs-Fixed: 2639443
Use INI "sta_disable_roam" to disable roaming on STA interface if
connection on other interfaces ex. p2p, ndp comes up. Each bit of
the INI "sta_disable_roam" represents an interface.
ex. LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)
As INI "sta_disable_roam" is generic for all the interfaces, cleanup
for INI "p2p_disable_roam" done.
Change-Id: Icd05a97c640ca07978d9960a33de036ed6fe38df
CRs-Fixed: 2637555
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_DO_ACS
QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES
Change-Id: I56d685cf3d7bab8f758d52b2e5d3c0a735accb26
CRs-Fixed: 2635226
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_ROAMING
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY
QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY
QCA_NL80211_VENDOR_SUBCMD_NAN
QCA_NL80211_VENDOR_SUBCMD_STATS_EXT
Change-Id: Ie2fb541d45ecc04dc5d3f80a3af9060c390ae7f5
CRs-Fixed: 2634373
Currently MCS parameters are not getting correctly in
wiphy which results in incorrect capabilities for iw list
command output.
To resolve above issue, update MCS parameters correctly in
wiphy band capabilities.
CRs-Fixed: 2633314
Change-Id: I830ad50aa4842bd2a79c97ed7b11b82c35148ff0
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION
QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_CAPABILITIES
QCA_NL80211_VENDOR_SUBCMD_OFFLOADED_PACKETS
QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI
Change-Id: Ia67c9c1d4839e5061f25971578830714abcd66ff
CRs-Fixed: 2633596
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_SETBAND
QCA_NL80211_VENDOR_SUBCMD_SCAN_DONE
QCA_NL80211_VENDOR_SUBCMD_OTA_TEST
QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE
QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE_DECR_DB
QCA_NL80211_VENDOR_SUBCMD_ACS_POLICY
QCA_NL80211_VENDOR_SUBCMD_STA_CONNECT_ROAM_POLICY
QCA_NL80211_VENDOR_SUBCMD_SET_SAP_CONFIG
QCA_NL80211_VENDOR_SUBCMD_TSF
QCA_NL80211_VENDOR_SUBCMD_WISA
QCA_NL80211_VENDOR_SUBCMD_GET_STATION
QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_START
QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_STOP
QCA_NL80211_VENDOR_SUBCMD_SAP_CONDITIONAL_CHAN_SWITCH
Change-Id: Ibc9ec144eac63a8dab19e01c1718d17ea5cabb35
CRs-Fixed: 2633912
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES
QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES
QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO
QCA_NL80211_VENDOR_SUBCMD_GET_BUS_SIZE
QCA_NL80211_VENDOR_SUBCMD_NO_DFS_FLAG
QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION
QCA_NL80211_VENDOR_SUBCMD_NAN_EXT
QCA_NL80211_VENDOR_SUBCMD_NDP
QCA_NL80211_VENDOR_SUBCMD_SCANNING_MAC_OUI
QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_START
QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET
QCA_NL80211_VENDOR_SUBCMD_ROAM
QCA_NL80211_VENDOR_SUBCMD_PACKET_FILTER
QCA_NL80211_VENDOR_SUBCMD_ND_OFFLOAD
QCA_NL80211_VENDOR_SUBCMD_GW_PARAM_CONFIG
QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY
QCA_NL80211_VENDOR_SUBCMD_GET_RING_DATA
QCA_NL80211_VENDOR_SUBCMD_TRIGGER_SCAN
Change-Id: I714c8b21a95144f7ed8ff4c6e038782e469edf3d
CRs-Fixed: 2621308
Presently vdev delete is sent to firmware 1st and the object manager
vdev delete is deleted after all the references are released.
With this change the vdev delete is sent to firmware when all the
references are released and the vdev delete is sent to firmware via
the object manager vdev delete notification.
Change-Id: I67bea0d2b2a0d2d9eb4602e5d0b8bbdcafdd4d26
CRs-Fixed: 2618278
In hdd_softap_deregister_sta, cdp_clear_peer may return fail
as peer has been deleted in other path, but the free of sta_info
will be continue.
So in hdd_softap_stop_bss, it will still access mac address
from sta_info, which will cause use after free.
Fix:
Even cdp_clear_peer return failure, it is expected, so only
log but not return failure to caller function.
In hdd_softap_stop_bss, remove mac address info log as in
hdd_softap_deregister_sta, there has been enough log for
each failure case.
Change-Id: Id06c78cb8d215488eb34d8412359ac2d684756d5
CRs-Fixed: 2637287
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.4 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_SET_TRACE_LEVEL
Change-Id: Ifbeba29b5c3c7783217ed5f2352286e5537753e6
CRs-Fixed: 2633340
For SAE connection, if sta has a PMKID cached from previous
full SAE authentication and uses it for the open authentication
with the AP and if the AP rejects the association with invalid
pmkid (53), then the STA tries association with next AP. This
could result in association with a low score candidate.
Retry association with same AP, with full SAE authentication,
if AP rejects association with reason code invalid pmkid. Limit
the retry count to 1 per AP.
Change-Id: I5b26822ff9bbeea51de1b80852d5d325d28bf17f
CRs-Fixed: 2625987
Currently when association reject with reason code 53(invalid
pmkid) is received from the AP, then we delete the pmksa entry
for that AP from csr_session, but with converged crypto component,
the entry needs to be deleted from the crypto pmk table.
Else when associating to the same AP again, driver will use the
stale pmk for the AP again.
Delete the pmk entry from crypto pmk table when association
reject is received from AP with reason code 53.
Change-Id: I54f4a7ee7e02d35e0560bfad9fe2e3466aaa361d
CRs-Fixed: 2636570
A unknown symbol sme_get_roam_scan_ch() error will happen when
probing wlan module without the enablement of FEATURE_WLAN_ESE.
Move the definition of sme_get_roam_scan_ch() out of the body
of FEATURE_WLAN_ESE.
Change-Id: Ie39133778b6e569d40ee05bffff5c27343f1507a
CRs-Fixed: 2634396
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE
QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE
QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS
QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES
Change-Id: I4ad3d952d2af8f1d7f37179f9c92b0e77fc2eb23
CRs-Fixed: 2635755
Add new ini CFG_SET_SAP_XLNA_BYPASS under fw_offload to allow host
to pass config to FW. WMI_PDEV_PARAM_SET_SAP_XLNA_BYPASS makes the
SAP xLNA bypass configureable.
Change-Id: Ie501005f3035f14b3f23cdd260f401a6af81b798
CRs-fixed: 2632088
These debugfs files are to replace wext cmd setUnitTestCmd
/unit_test/wlan_suspend/wlan_resume.
unit_test_host:
/sys/kernel/debug/wlan_xx/unit_test_host
wlan_xx is driver name
unit_test_target:
/sys/kernel/debug/wlan_xx/unit_test_target
wlan_xx is adapter name
wlan_suspend:
/sys/kernel/debug/wlan_xx/wlan_suspend
wlan_xx is adapter name
wlan_resume:
/sys/kernel/debug/wlan_xx/wlan_resume
wlan_xx is adapter name
Change-Id: I1ddf44b47a3f0d2e11ff74022dc1a26888da974c
CRs-Fixed: 2631424
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_GET_WAKE_REASON_STATS
QCA_NL80211_VENDOR_SUBCMD_OCB_SET_CONFIG
QCA_NL80211_VENDOR_SUBCMD_OCB_SET_UTC_TIME
QCA_NL80211_VENDOR_SUBCMD_OCB_START_TIMING_ADVERT
QCA_NL80211_VENDOR_SUBCMD_OCB_STOP_TIMING_ADVERT
QCA_NL80211_VENDOR_SUBCMD_OCB_GET_TSF_TIMER
QCA_NL80211_VENDOR_SUBCMD_DCC_GET_STATS
QCA_NL80211_VENDOR_SUBCMD_DCC_CLEAR_STATS
QCA_NL80211_VENDOR_SUBCMD_DCC_UPDATE_NDL
QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES
Change-Id: I1fa51d2fdf75a20098fe651769352d69d8fbd48c
CRs-Fixed: 2633726
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_GET_HW_CAPABILITY
QCA_NL80211_VENDOR_SUBCMD_LL_STATS_EXT
Change-Id: I33498d0980e96d7aca6c1cf3da8941654d2d6380
CRs-Fixed: 2633925
bus_bw timer start happens when first NDP is connected and
stop happens when last peer is departed indication is received
from firmware. But as part of driver unload, driver issues
stop_bss and firmware doesn't send any NDP END indication after
receiving this. So the timer started as part of first NDP confirm
is not stopped.
Try to stop the timer after processing the sme_disconnect which
is issued as part of stop_adapter for NDI mode.
Also, in STA+NDI concurrency scenario, bus bandwidth timer is
stopped on STA disconnection since hdd_any_adapter_is_assoc
checks only for other active STA or SAP. Add an NDI active
check so that timer is not stopped when NDPs are present on
an NDI.
Change-Id: Ibec447846fefad153261830c34bf2fa914636c7a
CRs-Fixed: 2625586
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_START
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_STOP
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_VALID_CHANNELS
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CAPABILITIES
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_GET_CACHED_RESULTS
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_BSSID_HOTLIST
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_BSSID_HOTLIST
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_SET_SIGNIFICANT_CHANGE
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_RESET_SIGNIFICANT_CHANGE
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_SET_LIST
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_SET_PASSPOINT_LIST
QCA_NL80211_VENDOR_SUBCMD_EXTSCAN_PNO_RESET_PASSPOINT_LIST
Change-Id: I664e59564642c25fad931aca37cbc696b0c53b49
CRs-Fixed: 2635225
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI
Change-Id: Id1d1f1ee339bcef83b714e33cc174f886fee5ce6
CRs-Fixed: 2634263
Copy desire channel to vdev mlme bss channel after vdev start,
several APIs used bss channel before it is filled, issue happens
like wrong max tx power is set.
Change-Id: Ib46b5b9eebc2000d703dc542c97f85281c0f376c
CRs-Fixed: 2636775
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS
Change-Id: If2e7aec3d6f6d98168e0ceededea8d86db7078d9
CRs-Fixed: 2634255
In certain case, the active SAP interface will be deleted by
__wlan_hdd_del_virtual_intf by upper layer. In that case,
we need to flush pmksa in SAP PMKID cache.
Change-Id: I9a152df7a4c27aef82664f039fbca18259d6b63a
CRs-Fixed: 2635424
Currently there is no check for vendor vht ie in lim fill
assoc indication param api. If a station fills its vhtcaps
in vendor vht ie in assoc request, lim does not fill
vhtcaps information in assoc indication params from
station's assoc request and it results in invalid caps info
in assoc indication to upper layers.
To avoid this issue, add a check to look for vendor vht caps
before copy of the vht caps to assoc indication from assoc
request.
Change-Id: If80136d9a923d23b7db3ebec1d49e6e4012e6dd2
CRs-Fixed: 2633003
Currently sar safety request response event is not getting
reset before it starts wait for completion in sar
unsolicited timer callback which may cause issues if this
event gets complete multiple times.
To avoid above issue, reset the sar safety request response
event before it starts wait for completion.
CRs-Fixed: 2634885
Change-Id: I47b8abd6e960acc4dd9eef43faebe7e34203c380
Currenlty the occupied channel list is not updated with the new
channel to which STA gets connected after CSA. This leads to non
updation of the scan_list in firmware with the new occupied
channel. So firmware goes for a full scan instead of partial scan
in case of roam scan trigger.
To mitigate this issue, update the occupied channel list with the
new channel after CSA, which will lead to updation of scan list in
firmware.
Change-Id: I21e9bdd3474ecd23e49aabf27c2a9978b158c2ce
CRs-Fixed: 2632943
The Qtime offset derived with a connected AP (master) are not
cleared on disconnect. This leads to storage of stale offset
values. So clear the stale Qtime offset values on disconnection.
Currently there is no information in ftm_time_sync sysfs entry
regarding which BSSID the Qtime offset values are derived.
Add the BSSID info in the sysfs entry.
Change-Id: Iac47bccffae005602469a658e5ca0bc9008ac4b4
CRs-Fixed: 2629822
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS
Change-Id: Ic02df66a2937aa3e1fd6b6193fbe31b7b4141ba4
CRs-Fixed: 2634250
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
QCA_NL80211_VENDOR_SUBCMD_CONFIGURE_TDLS
Change-Id: I181d9d5c4160847d4d1be98f2ce5fa2627b3972a
CRs-Fixed: 2634233