In sap_goto_starting(), update phymode and channel width
correctly incase there is mismatch between phymode
and operating channel frequency.
For instance, in case when operating frequency is in
5 Ghz band, phymode 11g is incorrect and should be
changed to 11a. Also, if phymode is 11a for 2.4 ghz
band, it should be changed to 11g.
Also, if phymode is of legacy type such as 11a or 11g,
channel width should be restricted to 20 Mhz.
In case of 11n, channel width should be restricted to
40 Mhz, if it is more than that.
Also, update the width from vdev as if not updated
there can be a case where there are different bw
in vdev and sap context.
Change-Id: I3df06c0f5bb0f4eb5ffc77317efbeaa88d998427
CRs-Fixed: 2976056
This change removes the "delete pmksa on BMISS" logic in commit
I5d8ec9e9d4f8a44178b113d370799fe2bc0373fb.
Will handle the issue in new commit by OUI checking of AP.
Change-Id: I871999f8c473afdc75b774210044fc059fcd07b0
CRs-Fixed: 3021068
The PER default low rate thresholds configured is 20Mbps. This
will cause PER roam scan always after the 25 secs PER monitor
window since the 11b rates are lower than 20Mbps.
So disable PER roam when the connection/roaming to peer is with
cckm/OFDM rates to avoid frequent roam scans.
Change-Id: Iaae469804547c0f0682b66de3609b5cda4b4b577
CRs-Fixed: 2984973
When the connect request is pending on MLME and NB disconnect comes,
driver will wait for previous connect finish to process the disconnect
request. This delay the disconnect and may cause framework ANR.
Add code to fire the timeout event of active timers in various MLME
state. This will abort the connect request and get disconnect done fast.
Change-Id: I19cc03108c966c8f1efc0a554dfc59123dfe37f1
CRs-Fixed: 3026311
In ucfg_twt_get_all_peer_session_params peer reference is
acquired and its not released leading to the reference leak,
leading to vdev destroy timeout.
Release the peer reference to resolve the issue.
Change-Id: I9992376473c30365f15fcdb8e374c856bc169d6b
CRs-Fixed: 3027189
Currently the PS config received from kernel/userspace is set
to mac_ctx globally. This causes PS config set for one vdev to
override on the other vdev.
To avoid this, set the PS config per vdev.
Change-Id: I6a2e2a9d8fb67b94d9d5f1d4164077990bdaf4a5
CRs-Fixed: 3007060
Currently driver cleanup sta connection info at stop
adapter because of which if query for sta connection info
comes after adapter restart, in that case driver is not able
to return this info.
For example according to new design of Android-S, framework
issues stop adapter after every disconnetion to update mac
address dynamically, after that it starts adapter again, now
if driver gets request for connection info, it is not able to
provide the connection info as it is already cleaned up on stop
adapter.
To address above issue, cleanup sta connection info at close
adapter instead of stop adapter.
Change-Id: I54247d4577dd7f8cf1c7d7bc657005a09d69d0df
CRs-Fixed: 3000842
Some AP indicates it support 40M in HTInfo, while not support 40M in
HTCaps, so need intersect HTInfo and HTCaps.
Change-Id: I496b62f50a2e1e19aeef7e77535d0479f31bba44
CRs-Fixed: 3025951
While Rx buffers are getting umapped from net rx context and
if IPA pipes are enabled at same time from MC thread context,
this is leading to race condition and IPA SMMU map/unmap is
going out of sync, in adrestea targets.
To fix this introducing IPA SMMU map lock and sync map/unmap.
Change-Id: Ida4c321d94f9640135c67210c69edb355d827c86
CRs-Fixed: 3021027
Current even without connection, there is possible
rtpm is vote for up, which block suspend. which cause
more power consumption.
change as only allow pm qos vote when sta connected.
Change-Id: I44176ee233d4b2fb1d7a0d51936c847b2ce5f327
CRs-Fixed: 3019401
Add logic to reset the TID with below condition:
1. reset TID value when wifi off happens
2. reset TID value when disconnection happens if
"wlm_latency_reset_on_disconnect" ini is set
Change-Id: Iaf73dfd7a6a9985f8c1af47f788e73ea4fa07882
CRs-Fixed: 3013137
When kickout event is received from firmware, the function
wma_is_roam_in_progress is called to check the roaming in
progress using vdev_id.
Vdev_id needs to be checked for valid vdev_id prior to
derefencing it.
Change-Id: Ib56895ad73b5dcefe7a0b9f65089306bf42d78eb
CRs-Fixed: 3020665
The memory allocation for srngs and tx/rx descriptors
are done during prealloc using macros. This could
potentially result in OOB access if the srngs sizes
and tx/rx descriptor num of elements are increased
via ini config.
Fix is to use ini values to update the srng sizes or
num of tx/rx descriptors for appropriate memory alloc
during dp prealloc.
Change-Id: Iaeac3833fd8e13df6baa9452a7d7f194b86a8bd3
CRs-Fixed: 3012648
In csr_update_pmk_cache_ft(), the value of the argument
pmk_cache could be received as NULL. pmk_cache is deferenced
without validation.
Validate pmk_cache before dereferencing.
Change-Id: I255ce55d07a112c2aa742535c54b71fadea3e7e7
CRs-Fixed: 3023221
After supplicant disabled vdev roaming, only host can invoke roaming.
After host invoked roaming, if reassoc failed, F/W aborted roaming and
retried roaming, if succeeded, then sent ROAM SYNCH later, but host
rejected it since roam_invoke_in_progress is cleared when receive
ROAM_ABORT, didn’t send WMI_ROAM_SYNCH_COMPLETE to F/W, F/W asserted
after timeout.
Fix it by not clearing roam_invoke_in_progress when receive ROAM_ABORT,
If host invoked roaming failed, F/W will send roam event
WMI_ROAM_REASON_INVOKE_ROAM_FAIL at last, roam_invoke_in_progress will be
cleared at that time.
Change-Id: Idbbae94f7ad77794f28f5d66dc68b33358d6f49e
CRs-Fixed: 3021513
In SAP mode, the get sta info vendor command gets called for both
connected and disconnected state. If peer client is connected then
driver returns the SAP power save parameters to the userspace.
If peer client is disconnected then driver returns -EINVAL status.
Userspace cannot differentiate using this error code whether driver
is not able to handle the vendor command or peer client is
disconnected.
So, if peer client is disconnected then return -ENXIO error code
instead of -EINVAL.
CRs-Fixed: 3014906
Change-Id: I3ce5cd53e79c3bfaeed6571ea28b28ce2dfe26b3
At present, driver doesn't check the set mon channel parameters
for HT40-, driver always set HT40+ for 2G channel 5 at present
by command "iw dev wlan0 set 5 HT40-".
Fix by check secondary channel offset from set channel parameters.
Change-Id: Ia69f193c72e9e97a4d6988e86bcfd3727089452e
CRs-Fixed: 3019982
If the STA DUT is attempting to connect in 160MHz channel width,
and if the HE160 Rx/Tx MCS is not valid after intersection, the
STA DUT will fallback to 80MHZ channel width.
Change-Id: I11fe8830851fcbb3796703a605568f83c9ff9932
CRs-Fixed: 3011510
The bit 5, 4, 3 are used differently in case of solicited and
unsolicited btm request. Update the description of the ini
param to provide clarity on the usage of these bits.
Change-Id: Ic9a596710da6b4692d578206bbd783f784a230fb
CRs-Fixed: 2787597
If there is single chain support then driver should disable
beamformer instead of enable
As part of fix, check the number of chains by intersecting the
firmware capability and ini config. If it is 1 then set
su_bformer, mu_bformer and num_soundingdim as 0
Change-Id: I84434c741cbf774f368657b2c57668f6e7b99991
CRs-Fixed: 3003257
In a beacon template, there is a mismatch of twt responder bit in
HE caps and extended caps.
During start BSS, there is a kernel flag related with twt
responder. Intersect this kernel flag and service bit capability
before calling twt enable/disable api in start BSS.
Change-Id: I0725fc560904c622cc47f43958bcd490daacfa2f
CRs-Fixed: 2995538
Currently WLAN_PROFILE is overridden to default in all cases.
In many targets, defconfig other than default_defconfig needs
to be picked, so set WLAN_PROFILE to default only if it is not
set before.
Change-Id: Ia9a5ad7c9eedd56be59418371867107258e65ea0
CRs-Fixed: 2818090
In certain case, the hdd_llstats_radio_fill_channels failed to
put more nl attribute for channel stats to upper layer.
Add validation of total channel stats number received from target
to avoid exceeding NUM_CHANNELS. And change error log to include
more debug information.
Change-Id: Ifaf3cf6cd643a3fe87bf7664727da19951f41e93
CRs-Fixed: 2865770
Add sanity check mac context before using it in API
wlansap_get_csa_chanwidth_from_phymode.
Change-Id: I8df501e850b606615c899321fc23636ad985ab23
CRs-Fixed: 2955278
In case if .set_power_mgmt command comes with ps disable,
then driver needs to teardown all existing twt sessions on
STA interface and if any TWT setup request command comes
after ps disable then also driver rejects the command.
Change-Id: Ib7c86fd257c52b9bac57124b744dc7a9e8405560
CRs-Fixed: 2997260