After roaming, new pe session is created and based on the authentication
status received in the roam synch indication, the is_key_installed flag
is set. But this flag is not set to sta ds after roaming.
This causes deauth frame to roamed AP sent out unencrypted after
roam.
Set the key installed flag to sta ds if the auth status in
roam synch indication is authenticated.
If the status is connected, this flag will be set in the
set key response path.
Change-Id: I9784fc4e44bb859b8ad075b164ed9bddc4c4fc36
CRs-Fixed: 2635262
Host adds OMN ie in the association request only if the AP to
which DUT associates advertises OMN IE and DUT supports VHT.
Update proper NSS in OMN ie of assoc request to overcome low
throughput issues in VHT op mode.
Change-Id: If00042b5f61016efb7839b87d7e8a46513f6d520
CRs-Fixed: 2660821
Currently, NDP peer entry is cached in dph table when an NDP
indication is received. Existence of this entry in the table
is used to know if the NDP session is still valid and peer cleanup
happens based on that. It removes the entry from dph table once the
cleanup is done in WMA_DELETE_STA_RSP handler. Below are the two
cases to initiate cleanup on an NDP,
1. When NDP_END indication is received from firmware
2. When NDP confirm is received with a failure from firmware
There can be a scenario where these two events happen back to
back for the same peer. An event might attempt to remove peer with
wma_remove_peer while the other event has already removed and just
before deleting the entry from dph table.
So check for the existence of peer entry in objmgr in
wma_remove_peer before proceeding for the peer removal. Try to
remove peer only if it's present.
Change-Id: I473a4608939f1ad919d93e065b7deaa9ff2da5a7
CRs-Fixed: 2653662
Kernel does not like NLA_UNSPEC type in DO_ACS vendor command. Hence,
change NLA_UNSPEC to NLA_BINARY and pass the .length attribute as well.
Change-Id: I686d0caa31f66e316f79b3d21158f349417e19e8
CRs-Fixed: 2661125
Currently the driver fails the ACS process
if no channel is found suitable for SAP by
ACS and thus hotspot cannot be enabled.
Fix is to force SAP to come up on some
default channel, this behaviour would
be controlled via an ini to that customers
can choose whether to opt for this behaviour
or not.
Change-Id: I8a63cf0c5d42802e33f4ad67a33d148a4da54d2a
CRs-Fixed: 2658297
In case eCsrForcedDeauthSta from NB is completed, eWNI_SME_DEAUTH_RSP
will remove all pending eSmeCommandWmStatusChange type commands from
serialization, this will cause other peers which deauth request is
from SB are not deleted from LIM and remain in deleting progress.
Fix is to don't remove pending eSmeCommandWmStatusChange type
commands when NB disconnect complete from eWNI_SME_DEAUTH_RSP.
Change-Id: I8e2248463fb7fd97343d411d46b1cae08dc4cb25
CRs-Fixed: 2652486
Userspace uses enum qca_wlan_vendor_cfr_capture_type as CFR capture
type, and host parses and converts to enum capture_type.
Change-Id: Ia9054d405afee914fe8166315a21f205ba7968bb
CRs-Fixed: 2656468
Assume in case of STA + STA, where STA1 is on 2G band
and STA2 is on 5G band.
While switching STA1 to STA2, hdd_reg_set_band issue
disconnect, in order to change band (say 2G to 5G) and
start processing roam scan offload request to make sure
roaming gets enable on only one STA at a time.
eWNI_SME_DISASSOC_REQ and eWNI_SME_ROAM_SCAN_OFFLOAD_REQ
msg get posted to lim back to back through a single thread.
HOST starts processing DISASSOC_REQ first and waits for
tx_completion ACK for disassoc frame. Ideally, Host should
process eWNI_SME_ROAM_SCAN_OFFLOAD_REQ before getting ACK
for disassoc frame.
In case if DUT immediately gets disassoc ACK, DUT complete
disassoc req and then gets chance to process SCAN_OFFLOAD req.
Once DUT enters into Disconnection state, HOST never sends
RSO stop command to FW and leads to assert in fw.
Fix is to synchronize eWNI_SME_DISASSOC_REQ and
eWNI_SME_ROAM_SCAN_OFFLOAD_REQ command to make sure RSO stop
gets process first followed by Disconnection/deauth.
Change-Id: I4b29dda44729f5eddd82fec0b0e52a656d5cae37
CRs-Fixed: 2657305
Update ch_width in assoc indication in the API
lim_fill_lim_assoc_ind_params if op frequency
is 6GHz. Also, create mapping function to map
two different ch_width enums.
Change-Id: I4f8a19a60a8922cbc6b5d35cbac86233108818da
CRs-Fixed: 2656016
6GHz Band capabilities are not present in probe
response from 6Ghz SAP.
Add 6Ghz band capability IE to probe response
template to firmware in SAP mode.
Change-Id: I66aed722a4a7cfbe409dc932fd20169b59575495
CRs-Fixed: 2655788
Host receives ROAM_SYNCH event from FW when MLME SM
is in ST-RESTART_PROG state while processing ht_width_switch
request. This results in MLME SM not able to send SYNC IND failure
to FW and leads to assert in FW.
Below fix are required to handle the above situation:
1. Avoid VDEV-RESTART while handling ht_width_switch if
roaming is in progress on the same vdev.
2. If Vdev is not UP then send roam sync failure to FW to
avoid assert in FW.
3. If ht_width_switch req fails then make sure host initiates
disconnection.
Change-Id: I91cb46cc7b9c3e3a1d5858275ade16c6f0f47286
CRs-Fixed: 2658871
Rome doesn't support service WMI_SERVICE_MGMT_TX_WMI, mgmt frames
and their tx complete are sent by HTT instead of WMI.
WLAN_SOC_CEXT_WMI_MGMT_REF cap isn't set too.
When delete vdev, need drain all mgmt packets of the vdev,
if there are mgmt frames waiting tx complete, need complete them
and free nbuf forcely, but dma unmap is missed on Rome for
WLAN_SOC_CEXT_WMI_MGMT_REF not set, assert will happen when free
nbuf.
Fix:
Don't check WLAN_SOC_CEXT_WMI_MGMT_REF when drain mgmt frames,
then dma unmap will happen before nbuf free on Rome.
Change-Id: I27c46c71cbc35df371d9852860da0cb9f08c826f
CRs-Fixed: 2650229
Initialize pld_uevent_data variable to zero, as the driver
expects zero data if there is no fw down data sent from
platform driver.
Change-Id: I24c3fa459207d254f7b579a387985eca06466447
CRs-fixed: 2658683
CSA is offloaded in all chipset and thus the non-offload
version can be removed.
Change-Id: I9f84195ef962c69668843cfc50631757a8960fee
CRs-Fixed: 2658860
Add pointer 'vdev' null check for KW issue. In ol_tx_non_std()
when 'vdev' is null, return the pointer of msdu buffer.
Change-Id: Ic82db8c649de09dda42ae588bda7e58c036ae161
CRs-Fixed: 2645407
The driver doesn't ageout connected BSS from rrm scan
result after the scan default ageout time. This results
in connected AP information sent in beacon report request
in table mode always.
Fill the ageout threshold value as the default scan age out
time in the rrm scan filter.
Change-Id: I8f9b0457bd93e2d9b51a772bdbdfb01dcd429c56
CRs-Fixed: 2650915
Bring back the changes removed as part of the
commit 48d77649cd ("qcacld-3.0: Don't add/remove peer for NDIs")
to register NDI as sta to send MC/BC traffic when an NDP is
latched on to this.
Change-Id: I7215f07978323535ac6c1078aec8634ff4950a66
CRs-Fixed: 2656936
Enable TSO and other driver capabilities for NAN datapath
interface.
Below are the list of feature capabilities supported:
NETIF_F_IP_CSUM, NETIF_F_IPV6_CSUM, NETIF_F_TSO, NETIF_F_TSO6,
NETIF_F_SG, NETIF_F_RXCSUM, NETIF_F_LRO
Change-Id: I62b0a09b307799c1a1f67ca8102563b3570e8533
CRs-Fixed: 2637165
This is to enhance statics for runtime put/get, which is
to detect if there is mismatch for usage_count.
Change-Id: I86441227beec0a9a7b26df8a06f7752ded544f06
CRs-Fixed: 2651628
Currently the driver allows roaming to the BSSID
which it is already connected, which can lead to
many unexpected behaviour, for eg. if the SAP
to which the DUT is connected turns off, then the
DUT would try to roam to other BSSID of the same
SSID, and in case the SAP turns on back in time,
then the DUT would re-associate to the same BSSID.
Now if the subnet may change, and since the DHCP
does not happen again in roaming, it would then
lead to NUD failure.
Fix is to introduce an ini to allow/disallow
roaming to the same BSSID.
Change-Id: Ibd04fcd7384c0987db5bb6dae1a26ee077456290
CRs-Fixed: 2634860