Currently the driver does not inform userspace when
there is no channel available for the SAP to restart.
This case can happen if all the channels in the spectrum
are unsafe, in NOL list, SRD etc. and the driver cannot
find a safe channel.
Fix is to inform userspace about this scenario of
driver stopping the SAP.
Change-Id: I77f7a5156c8f7b1da29023675d5a7a448be0fb92
CRs-Fixed: 2815265
When ipa setup pipes fails in wlan_ipa_uc_ol_init API,
tx buff mapping is not done but during deinit path
tx buff unmapping is called without mapping.
Fix this by resetting uc_loaded flag to false when ipa pipes
setup failure is encountered.
Change-Id: Ic34320e56cee9e60381d9203dd95e268d0ef392b
CRs-Fixed: 2957612
Currently the KRK and BTK Keys are not copied from the supplicant
to the buffer in RSO command. Hence the NULL KRK and BTK keys are
generating invalid MIC key in Firmware for CCX roaming. And so
the CCX roam fails.
This fix copies the valid KRK and BTK keys from Session to the
ese structure in the RSO command.
Change-Id: I2f567f75dd74189becb40ec9a1f906ab0d870584
CRs-Fixed: 2958938
Currently channel switch command accepts only channel number as
parameter but with 6GHz changes channel switch can come for the
6GHz channel as well and to support 6GHz channel switch frequency
needs to be accepted as parameter.
To address above issue add support to accept frequency as
parameter for channel switch command.
Change-Id: I38978348c0d70e3e860d4644b4664f8775ecb777
CRs-Fixed: 2931485
Currently driver does not consider secondary channel list
for ACS which needs to be used for SAP related operations and
because of that in sap get freq list driver is selecting some
frequencies which are not valid for SAP operation and from
frequencies driver selects ACS frequency and gives to upper
layer resulting in an invalid ACS frequency to user space.
Now when user space tries to start ap on this frequency, SAP
doesn't come up on this frequecy as this is invalid frequency
for SAP.
To address above issue consider secondary channel list for ACS
in sap get freq list so that only valid frequencies for SAP
are selected for ACS.
Change-Id: Ic7f1cb8134615a9195884d55bfb8111898ff74cb
CRs-Fixed: 2955162
In lim_ft_prepare_add_bss_req due to change
Ic4a992acfce186f7248dcc99d0c7b44ce38f099b the action was removed
but if condition was not removed. This left over if condition is
causing the vht_caps to be NULL in VHT20 case.
Fix this by removing the left over if condition so that vht_caps
is filled all the time.
Change-Id: I196fd3cfb44fa3281b9843a61242520e0888d2c4
CRs-Fixed: 2958411
When flow is added in CMEM path init time stamp is not
handled, so initialize flow init time stamp in CMEM path.
Add Fisa error print during reo id mismatch, print flow
and nbuf details which helps to debug the issue even if
local stack variables are not available in dump.
Change-Id: Ibcc44bd8558cc687279bb34267d60b9882d33a24
CRs-Fixed: 2946825
Set intermediate EP vote access before host
wake up indication smp2p is sent to F.W,
this helps to avoid smp2p override.
Change-Id: I4b998ee5ea6b26921855bfbae434869fb93accf9
CRs-Fixed: 2953883
When roaming to 160M AP by LFR3, host will update BSS info after
received roam sync event from firmware, but 160M isn't considered
when calculate channel width.
Actually vht_op->chanWidth alone cannot decide the actual BW, we need to
check difference of center_freq0 and center_freq1 to decide 160/80+80 or
80 if vht_op->chanWidth is 1.
Fix it by copying ft_session->ch_width to BSS info which covered 160M
channel width.
Change-Id: Ic4a992acfce186f7248dcc99d0c7b44ce38f099b
CRs-Fixed: 2954900
Currently, the same twt disable api hdd_send_twt_disable_cmd()
sends to firmware for both requestor and responder role.
As part of this change, decouple disable api based on requestor
and responder role as per below:
for requestor: hdd_send_twt_requestor_disable_cmd()
for responder: hdd_send_twt_responder_disable_cmd()
Change-Id: Ib92b0fa46dde78dec0d5b7ca914d018c7c0970e5
CRs-Fixed: 2937591
1. Currently, the same twt enable api hdd_send_twt_enable_cmd()
sends to firmware for both requestor and responder role.
2. When firmware receives enable command, it will be busy to
handle that command. If any back to back enable command, it can
lead to some issues.
As part of this change, decouple enable api based on requestor
and responder role as per below:
for requestor: hdd_send_twt_requestor_enable_cmd()
for responder: hdd_send_twt_responder_enable_cmd()
Synchronize twt enable command to avoid back to back command
issue.
Change-Id: I3d3840740fee7413d6123ece919c42558e9b35d1
CRs-Fixed: 2937540
Add support to dynamically control rx aggregation based
on clsact ingress filter addition or deletion. Disable
GRO/FISA when the filter is configured and enable GRO/FISA
back when there is no filter configured.
Change-Id: I462f62edf0acd191b57f40800118567edb2ac82d
CRs-Fixed: 2952276
Roam offload init command should be sent to firmware only
for STA mode. For P2P vdev, if roam init command is sent,
it causes abnormal target behavior.
Don't send roam init command if the vdev opmode is not
Station.
Change-Id: I0bfc3c6b4bc2eef7459b092101bc4d72c68761e5
CRs-Fixed: 2924563
Currently there is no support to enable NAN on indoor channels,
as per the new requirement add an ini support to enable NAN on
indoor channels.
Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f50f
CRs-Fixed: 2943668
In wlan_hdd_validate_operation_channel, "status" is override
to QDF_STATUS_SUCCESS after "ucfg_mlme_get_sap_allow_all_channels"
call. Reset "status" to QDF_STATUS_E_INVAL before checking
with supported channel list, otherwise QDF_STATUS_SUCCESS
will be returned for unsupported channel case.
Change-Id: Ibc3396eb89634b0efc77262e90427510d26e0f39
CRs-Fixed: 2946475
Currently, there is no panic when there is a net dev reference
leak. To catch the reference leak at the early stage, trigger
panic immediately after reference leak is detected.
Change-Id: Icbdd090dab50c8f695b5354c405f0506adce119d
CRs-Fixed: 2911563
Currently host is sending noise floor as 0, even if channel info
event is not received from FW. This is stopping user space derive
noise floor information from other parameters like bandwidth.
To address this, do not set SURVEY_INFO_NOISE_DBM flag if the
noise floor is 0.
Change-Id: Icffdde6bce762c750200b4f1eefd17818780150e
CRs-Fixed: 2949905
Update Country IE population API so that SAP uses secondary current
channel list instead of primary, to advertise correct number of
6G channels.
One other change is in TPC power calculation API, to add STA role
check along with lim join req check, since the API was returning
without calculation for SAP.
Change-Id: I3fafe252b119a5b58f5382fcbff60eb4c19688c6
CRs-Fixed: 2946474
For reassociate case, when disconnect is triggered by
wlan_hdd_try_disconnect, then disconnect event is not
indicated to kernel in disconnect handler -
hdd_dis_connect_handler. And if the csr_roam_connect
get failure for some reason, the kernel will only get
error code from driver connect request interface and
the connected bss information in kernel will not get
cleared. Then kernel / driver will be out of sync.
To fix that, for such csr_roam_connect failure case,
let driver return successful status code from driver
connect interface and indicate connection result failure
event to kernel to clear kernel bss information.
Change-Id: I5367262751e63c04553deeb7607cbe13c70f8e15
CRs-Fixed: 2940994
Currently, hdd_vdev_destroy checks if any vdev is actively using
DBS while cleaning up the vdev. It stops the timer and sends set
hw_mode command to firmware to set the hw_mode to SMM if no vdev
is using DBS.
This causes delay in p2p interface down in below scenario,
1. Bring up both sta and p2p vdevs.
2. Initiate connection on sta to an AP which has both 2GHz and
5GHz candidates. hw_mode would be set to DBS as one of the
candidate is 2GHz.
3. Connection would be attempted first on 5GHz candidate if the
5GHz candidate score is good.
4. If p2p interface is disabled while sta connection is happening,
it stops the opportunistic timer and sets the hw_mode to SMM.
But the command would be waiting in serialization queue as
connect command is active currently. This is a blocking call
and userspace thread would be stuck till connection completion/
connection timeout(5 seconds) happens.
The above wait results delay in p2p down which in turn results
delay in wifi turn-on(as p2p down+set random mac+p2p up happens
as part of wifi turn on) and turn-off.
Don't set the hw_mode to SMM in this case as the sta connection
is in progress.
Change-Id: If286fe9bd9906eba71686cf1d50880aa065cc100
CRs-Fixed: 2926272
Fill he and vht parameters in data tx and rx packets for packet
capture mode to update in radio tap header.
Change-Id: I229fc41657456b9ab5d8a2dfce1cdd039b624fcb
CRs-Fixed: 2942108
Currently centre frequency filled in data rx packets for packet
capture mode. Need to fill base frequency so filling frequency
from connection policy manager.
Change-Id: I79abe4e8a27a853c156eff8618be2f280fc54e78
CRs-Fixed: 2942107
In PE session, host updates supported rates from beacon IE stored
in BSS descriptor. If OFDM rates are present in beacon while
operating frequency is not from 5GHz band, host copies them into
PE session's supported rated.
Hence add a check to avoid adding OFDM rates while operating
frequency is not 5GHz.
Change-Id: Ia3b39b31269b79e6d1f96d3a0bddb185597c0303
CRs-Fixed: 2948058
Currently, in the DP RX thread packet drop logic, the aggregated
packet as a whole is considered as one single packet. An aggregated
packet can hold anywhere between 2-16 packets, considering it as
a single packet will make the entire drop logic incorrect.
Consider all packets in the aggregate while computing the number of
enqueues & dequeues to fix the problem.
Change-Id: I70e65bcdfdbaf7821b36606ac6eeae61eaca7406
CRs-Fixed: 2948104
wma_needShutdown related code is now obselete, during the cds_preenable
failure, this is obselete code is being invoked which is setting
wma->needShutdown. If the same is set the wma_close will not be
inokved resulting in the reference leak of of pdev object.
Remove obselete wma_needShutdown code.
Change-Id: Ia1463c9197593165eb5844e154f78fe3fe278fbd
CRs-Fixed: 2947133