Adds support for sme_abort_roaming for ROAM_OFFLOAD_V1.
Also fix compilation error for ROAM_OFFLOAD_V1.
Change-Id: I06247b1118b7dee32ff392b247e2e08e32dbaf9f
CRs-Fixed: 2768397
While querying for the channel width, the opclass is
extracted from the country opclass. If opclass is not
found then 20Mhz channel width is considered for connection.
This fails the cert test case when AP sends the global
opclass in ECSA.
Change is done to search in the global opclass if the
opclass is not found in the country specific opclass.
CRs-Fixed: 2768075
Change-Id: I24b585af7174a31fe800d6453bbfe18dc5f24af1
Currently line number is not useful in the logs and to print
the line number consumes lot of memory in driver text area size.
To reduce the driver size add feature flag to enable/disable
line number logging in the driver.
Change-Id: Ie11e3425cb61edad09c0da0337d0daa18e2a56d6
CRs-Fixed: 2766244
Remove error prints in get_channel callback. These prints are
filling up the kmesg and don’t provide any info.
Change-Id: I224b53ebe73c803b2ff9c2e9512af9eab53f8d79
CRs-Fixed: 2767148
DATA_PKT_INFO attribute has type set to u32 in the
driver NL policy while wifihal has the type set to
NLA_NESTED. This results in the NUD stats set request
to not reach driver.
Fix is to set DATA_PKT_INFO attribute type to NLA_NESTED.
Change-Id: Iba8e69a1fc017df65f30b441e4d6d3862ffc2263
CRs-Fixed: 2765559
Cleanup legacy assoc disallowed related code
and take the params from connection manager.
Also update the connection manager config in
case of change of config in relation to
assoc disallowed.
Change-Id: I558b5b7f3b3c422d2882630d16e0f3dfd1898d09
CRs-Fixed: 2767490
Register IPA ready callback with IPA driver. The callback
sets ipa_is_ready flag in the host driver and kick starts
the ipa init sequence as part of which the Tx buffers are
mapped to IPA.
None of the IPA APIs are invoked until IPA ready registration
is complete.
Change-Id: I4dda8fd083c71400532139174f834b757e05e5a6
CRs-Fixed: 2752235
Once host sends WMI_WOW_ENABLE_CMDID then host components must not send
any WMI command to FW. In suspend state if host sends WMI command then FW
crashes.
Hence add support to set/reset suspend state of Blacklist manager.
Thus Blacklist manager checks the suspend state and then only sends WMI
command to FW.
Change-Id: I2581d38a485c4f930a6e2dfb951c0fdc2306fa3b
CRs-Fixed: 2765404
Currently INI: gFirstScanBucketThreshold is not used
while LFR2/LFR3 roaming.
Remove unused INI gFirstScanBucketThreshold
Change-Id: Ifa909fc57d3ac3da696369fcffc390826f393b44
CRs-Fixed: 2767372
In case where peer itself exhibits BA window size more
than the allowed value, crash can happen. So, limit the
BA window size to maximum allowed BA buffer size in case
peer BA req buffer size is more than it.
Change-Id: Ie695b9787b555616a5443077147d4bc3a3aefb78
CRs-Fixed: 2766363
When DUT as STA and connected to 2G band AP, and trying to connect to
2G band P2P GO as P2P client. It filters out all 2G band before get
scan result. which casue P2P connection failed. So won't call
wlan_cm_dual_sta_roam_update_connect_channels and allow 2G channels
if opmode isn't STA. This change removes codes about getting filter
for NULL profile case since pProfile has been checked and it won't be
NULL.
Change-Id: I9e83e25c19740a3eebc460af0a660b1315556b4f
CRs-Fixed: 2762443
Add changes to send roam scan mode over RSO start/stop/update_cfg
from connection manager. Update the roaming params and roam scan
params to new structure.
Refine send_roam_scan_offload_mode_cmd_tlv().
Change-Id: I6adce2e8a24ece93a079032d0e66760393fcdccd
CRs-Fixed: 2766023
Add the cfg80211 configuration support for sgi
Previously the bitrate mask is added via the iwpriv
iwpriv wlan0 shortgi 8
will be configured via below through iw
iw dev wlan0 set bitrates ht-mcs-2.4 7 sgi-2.4 8
Change-Id: I31d4ff34fd55c74e814fc23b2960bf36e645da72
CRs-Fixed: 2760059
Do not update the RRM capabilities based on the peer
association response frame as it is a self capability.
Also, in case of passive scan for RRM beacon report, add
10 ms to the dwell time so that chances of receiving
beacon increases.
Change-Id: I2230e9b08996093cd6f312b5c48d84645d8895c8
CRs-Fixed: 2760810
Currently the driver goes for SCC when STA is
present on 2.4Ghz and the GO comes up.
In case the user wants throughput then
GO should go for VHT80 in 5ghz even in
case of STA present on 2.4ghz so that
it leads to better throughput.
Change-Id: I211858b42d3de407f6047609f966f95720644109
CRs-Fixed: 2763812
Currently, channel rx time is not being updated to user space as
part of link stats. Instead channel tx_time is being overwritten
with the same value. Due to this user space is not getting channel
rx_time in the link stats.
Update channel rx time in the channel link stats.
Update representation of tx_time and rx_time in the ll_stats debugfs
output to align with other stats.
Change-Id: I850adb11169eb24c81f1e31a4ff498f4e20ab9c6
CRs-Fixed: 2765485
qcacld-2.0 to qcacld-3.0 propagation
The probe rsp ie will not updated after beacon updated.
This will cause the probe rsp ie not appear in probe rsp
tags even the ie appears in beacon.
Put the updating of probe/asso rsp ahead of beacon updated.
Change-Id: If55f72ce788f4e0f162bb0c13fcff7b2129bf423
CRs-Fixed: 2648396
Replace QDF_MAC_ADDR_STR/ARRAY with QDF_FULL_MAC_FMT/REF.
Only in kernel and driver logs, use QDF_MAC_ADDR_FMT
for all debugfs, sysfs, ioctl, unit test code use QDF_FULL_MAC_FMT
Change-Id: I8cd0c065dad94e4700a009b951b10ee699568813
CRs-Fixed: 2763159
Fix NULL pointer dereference of mlme_priv while using
the macro GET_CM_ROAM_TX_OPS_FROM_VDEV. Also replace this
macro GET_CM_ROAM_TX_OPS_FROM_VDEV with inline function to comply
with the linux coding style “Generally, inline functions are
preferable to macros resembling functions”
Change-Id: Ifc9ba37e3d260b027ba79457f00382374f3b78ac
CRs-Fixed: 2764891
lim_cmp_ssid() calls qdf_mem_cmp() and a return value of 0
means the memory to be compared are equal.
In lim_chk_ssid(), checking against != true is thus not
proper to ensure memory are equal. Thus check against
0 to ensure requested SSID matches our own SSID configured.
Change-Id: I31651e7fba47ae6eb22dc034c4479114343e8652
CRs-Fixed: 2765570
A race condition can happen when roaming state machine
transition takes place in the following sequence:
1) FW indicates 'roam_synch' event to driver, and driver in
turn, advances its roaming state machine to
'WLAN_ROAM_SYNCH_IN_PROG', in wlan scheduler context;
2) HDD layer starts to do 'disconnect'(could be due to NUD
failure), and thus needs to stop roaming scan offload in
the following sequence:
2.1) Post a RSO stop cmd to FW, via the scheduler thread;
2.2) Advance the roaming state machine to a new state of
'WLAN_ROAM_RSO_STOPPED';
2.3) Check if:
>> the roaming state machine is still in a state of
'WLAN_ROAM_SYNCH_IN_PROG'
>> the neighbor roaming state is in any of the states
below:
eCSR_NEIGHBOR_ROAM_STATE_REASSOCIATING;
eCSR_NEIGHBOR_ROAM_STATE_PREAUTHENTICATING;
eCSR_NEIGHBOR_ROAM_STATE_PREAUTH_DONE;
Here, if any of the conditions becomes true, then
HDD will wait for 4 sec to let the roam_synch handler
finish its job, otherwise the wait will not happen.
2.4) Disconnect the current vdev and advance the roaming
state machine to 'WLAN_ROAM_DEINIT';
In a corner case, race condition can happen in the following
sequence:
>> thread 1), which executes in wlan scheduler context, starts
to run first, and thus roaming state machine advances to
'WLAN_ROAM_SYNCH_IN_PROG', but then gets preempted before
starting to parse the assoc resp frame attached in the
roam_synch event;
>> thread 2) starts to run and posts RSO stop cmd, but the req
msg cannot be handled right away due to scheduler thread
is actively running with other tasks, so it gets queued at
step 2.1);
>> thread 2) continues to run, and simply advances the roaming
state machine to 'WLAN_ROAM_RSO_STOPPED' at 2.2), and then
it will find out none of the conditions listed in 2.3) is
true, so it choses NOT to wait for 'roam_synch' handler to
finish;
>> thread 2) reaches to step 2.4) without waiting at 2.3), and
roaming state machine advances to 'WLAN_ROAM_DEINIT';
>> thread 1) continues to run and starts to parse the assoc
resp frame indicated by FW, and finds that the roaming state
machine NOT in 'WLAN_ROAM_SYNCH_IN_PROG', and thus goes to
the wrong way to treat the buffer in a different manner,
causing a invalid pointer access here.
Fix the racing condition by checking if the roaming state machine
is in 'WLAN_ROAM_SYNCH_IN_PROG' before advancing the same to
'WLAN_ROAM_RSO_STOPPED' in function wlan_hdd_wait_for_roaming().
Change-Id: I202ccb371e9e70a76ef35938c700b60c91b7d3cb
CRs-Fixed: 2761880
Currently there is only SETANTENNAMODE ioctl command to configure
number of chains to firmware.
Add support to configure the number of chains over the nl vendor
command QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS and
QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS.
This new interface will configure the number of chains per vdev
dynamically.
Change-Id: Iff22d886529f6d8fb205d668eba8928039620a20
CRs-Fixed: 2756647
Issue: Driver supports WAPI AKM suites but doesn't advertise
WAPI_PSK_AKM_SUITE and WAPI_CERT_AKM_SUITE due to which
WAPI may not be visible to Settings
Fix: Advertise WPAI AKM suites to avoid any incompatibilty issue
between driver and supplicant.
Change-Id: I59569837f699adba270f73ceb4fc5dc12c349d26
CRs-Fixed: 2759876
In order to improve the Genoa DBS KPI, need to
increase the IPA tx complete ring size from
1024 to 2048. And the tx buffer count also will
increase from 1023(1024-1) to 2047(2048-1) according.
But in fact, as for wlan fw, it just only reserve
1500(1100 for 5G, 400 for 2.4G) tx desc for packets
from IPA, so some tx buffer will not used here,
which will waste memory. So to save some memory,
export CONFIG_LIMIT_IPA_TX_BUFFER for platform
configuration to limit the max IPA tx buffer count
Change-Id: Id5d4c5a220b588747f3d1981627f6253d7c3305b
OCV capability i.e. 0x4000 bit in RSN capability is set to 1 to
indicate that the STA supports operating channel validation by
including Operating Channel Information (OCI) in RSNA exchanges
and validates the information when received from another STA that
indicated this capability.
OCV support implicitly depends on PMF capability, AP's with no PMF
support disassociate STA if STA sets OCV bit in RSN capability of
assoc request. Hence if AP doesn't support PMF, do not set OCV
support bit i.e. 0x4000 in RSN capability of assoc request.
Change-Id: I4a331cab9dfaebe3a6b8ff8656888a333355f4a6
CRs-Fixed: 2763169
Increase max sae auth frame retry count to 3 since total SAE auth
timeout is 5s.
Change-Id: I5902cc3411f713eaeed5ef7754fe7fe8e590b459
CRs-Fixed: 2765211
get_wmi_unified_hdl_from_psoc() is called to get wmi handle from psoc,
but it may return null. Thus, add a null check before setting qmi stats.
Change-Id: Id9ef8f450ebcbbd2f8d8b078adb0a78ac638efb6
CRs-Fixed: 2764885
Currently, driver sends DOT11F_EID_VHTCAPS for 2.4g band without validating
gEnableVhtFor24GHzBand ini which may cause different phy modes in host and
fw because host modifies phy mode based on gEnableVhtFor24GHzBand ini but
doesn't consider gEnableVhtFor24GHzBand while sending vht ie to fw.
Fix: Populate and send vht ie based on gEnableVhtFor24GHzBand for 2.4g band
to avoid phy mode mismatch between host and fw.
Change-Id: I54622304635ee803bcfd5ba49dfb3e25b28a39de
CRs-Fixed: 2725164