Register for WDI_EVENT_PKT_CAPTURE_RX_DATA_NO_PEER in packet
capture mode and add logic to parse it. This wdi event
delivers rx data packets to packet capture component which are
received before peer is mapped in host, mostly in roaming scenario.
Change-Id: Ia718293c97dd11de6aab5a739683eec38e7e057b
CRs-Fixed: 3000153
Currently driver does not check the mode of the current interface
whether it is STA of CLI and it caches the connection info, in this
process it allocates the memory to cache he operation, this memory
get freed only for station type adapter because of which there is
a possibility of memleak for CLI interface.
To avoid above issue, add a change to only cache the information
STA interface.
Change-Id: Ic68d71dfd9887600fe1a287de66d735c2c802491
CRs-Fixed: 3028583
Afte DUT sta connected, when sme_get_rssi_snr_by_bssid is called to get
RSSI of current AP, only bssid is needed in scan filter.
If freq list, security are added into scan filter, can't get any scan
result and AP RSSI.
Change-Id: If96edc8768a6b2c8d729afcf479c84339517468e
CRs-Fixed: 3029559
For STA connection in HE 160, HE160 MCS is validated
during the session creation. If the HE160 is invalid,
the connection falls back to 80MHz. But, this check needs
to be bypassed for SAP, because during session creation SAP
will not have the peer capability, so the HE160 MCS validation
needs to be bypassed.
Change-Id: I3bbb2f35c40a123b5d05a94038970a0e7e43ac60
CRs-Fixed: 3025102
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