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
Currently addba response is not updated with ini configured rx aggregation
size.
This change is to reject peer addba request if rx aggr size is 1 and
for other sizes select min value of peer and configured sizes.
Change-Id: Ia375b1e031dfecf948429e0baea19faa8fe42ffa
CRs-Fixed: 2962314
Peer addba request is rejected when reject_addba_req is set from
ini or vendor command.
Current reject_addba_req ini is replacing with gRxAggregationSize
when it is set 1 from ini.
Hence this reverts commit I80a4b78c1af77f5bfa68be3163f9e9a78cc64245.
Change-Id: I1cc57b88311da4dd8f26eade17072aaa1f0ebb59
CRs-Fixed: 3002204
Currently, the WLM mode could be recovered after disconnection
or interface down/up about random MAC feature. Since some OEMs
have different mechanisms to config WLM mode on their framework
implementation and don't expect recovering the WLM mode.
So add logic to set default WLM mode when disconnection happens.
And add ini wlm_latency_reset_on_disconnect to differentiate
the implementation in driver. By default
wlm_latency_reset_on_disconnect is false.
Change-Id: Idcb3baf6ab8f0533eb01c28ff1c12513f9995946
CRs-Fixed: 3006875
For 11a/g mcs 0, preamble:OFDM 0, nss 1x1:0, channel width:20M, 0,
mcs 0 rate:0.
so (((_pream)) | ((_nss) << 3) | ((_bw) << 5) | ((_rate) << 8)) is 0,
so wmi_rate_stats.rate is 0, rx_mpdu is set to 0.
Fix it by not setting rx_mpdu to 0 when rate is 0.
Change-Id: Ie12660480af42e26c2ea957b6576dbd395730522
CRs-Fixed: 3008693
Currently CMEM FISA FSE flush work timer can be triggered
in suspend sequence, this may lead to starting timer even
it is pending to executed.
To avoid this check if flush is allowed before starting the timer.
Change-Id: Ie4a8386a7a7c7ae8c2fba97cae65578ae56b0b4b
CRs-Fixed: 3015719
ll_stats_set vendor cmd is now only supported for STA mode.
Add support for P2P_GO and P2P_CLI modes since FW supports
LL_STATS for P2P mode as well.
For P2P_GO mode, use WMI_REQUEST_LINK_STATS_CMDID instead
of the club cmd WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID.
Change-Id: I675ff87593e6eb80e1e1fef85ae1f46d24701d63
CRs-Fixed: 3012389
This happens in roaming case, even bsstype is mismating
we allow it to continue, which is to avoid serialization
cmd without dequeue issue.
Change-Id: I17f4c8e71769c42f3e7747e6095645c9683753ad
CRs-Fixed: 3015332
For the TDLS link, not established in 6ghz band, some
elements in HE OP IE such as basic mcs, bss color are
not filled properly. This might cause some IOT issue.
To fix it fill the params correctly.
It should be noted that VHT operation info should not
be included in HE OP IE if the frame carries the VHT OP
IE or sent in 2.4GHz.
For TDLS link connected in 5Ghz band, VHT OP IE is sent
in the setup confirm frame so no need to include that.
Change-Id: I9426ff3ca16461628b8ebe9710048dc68866dbf4
CRs-Fixed: 3003984