Enable CE descriptor ring history in non slub_debug_on build.
This is required to debug CE ring slow reaping issue in non
slub_debug builds
Change-Id: Id2955eb79f4759784b68cbb0270a7794484bb73c
CRs-Fixed: 2786647
IOVA address returned as part of pld_smmu_map for IPA
rx ready doorbell register exceeds the IOVA range
configured in FW by Host. This is because smmu unmap
support is not enabled and due to IOVA range validation
issue in cnss SMMU map API.
Fix is to enable SMMU S1 unmap config flag to enable
SMMU unmap as part of IPA cleanup.
Change-Id: I588f3536c2eb2a9fc77bbe69c9b6a6eb02a39842
CRs-Fixed: 2784174
After sending disable request to FW, it needs some time to
communicate the frame to all NDP connected peers. Increase
the wait time from 1 second to 4 seconds.
Change-Id: Iae36fe007704600a9f29ac7b943ef22fba91b651
CRs-fixed: 2787069
Use the TLV type for QCN IE attributes to fix the duplicate IE
detection and update QCN IE with new attributes.
Change-Id: Ia1be2d1754a3ed82ad3f01b68e719c504f624309
CRs-Fixed: 2760822
Currently ll_stats and get_station requests are sent back to back
from user space. The firmware time difference between these two commands
results in extra sleep and wakeup for Q6.
To avoid this extra Q6 sleep and wake, send both requests in a single
command from the driver if the firmware supports that operation. Cache
the get_station results in the driver until user space request reach
to the driver.
Change-Id: Ic7c6232558b9411106bf3fb88ec8d9b0b28b045d
CRs-Fixed: 2778476
At present, WAPI security mode STA is not allowed to run in
concurerncy with any other vdev.
So, whenever a new vdev is created, policy_mgr_check_privacy_for_new_conn
is called to check the security concurrency of new connection by checking
security of exisitng vdevs and if a STA vdev with WAPI security exists
then the concurrency is not allowed and the api will return false.
In case, while performing this check, the adaptor associated with
the existing vdev is destroyed, there might be a crash as
hdd_wapi_security_sta_exist is still trying to access the security
of that vdev.
To solve this, use wlan_objmgr_pdev_iterate_obj_list with crypto info
to iterate across all the existing vdev and check the security. If
Wapi security STA exists, it will return an argument with value as true
which will be used in policy_mgr_check_privacy_for_new_conn and it will
return false as concurrency is not allowed
Change-Id: Iff811d2406f1c74cec26d457a2a682dd992710b8
CRs-Fixed: 2784406
The naming of the osif files and functions is not correct as
these files and functions include wlan_cfg80211 as prefix
instead of osif.
Correct file name and function name should contain the component
name first, followed by feature name followed by method.
Change-Id: I26a592de71bbde0f731436acb970778c85d19226
CRs-Fixed: 2786807
When vdev is null in both mlme_get_roam_state() and
mlme_is_roam_invoke_in_progress(), error log is getting printed
redundantly.
Remove prints from both function as there is no additional info.
Change-Id: Ibc96ad957d947857777dad9df9ff766e68562dae
CRs-Fixed: 2785775
Currently when driver receives the legacy get channel command,
it fills all the channels which includes 6GHz channels also.
This may lead to unexpected behaviour for the applications which
does not have support for the 6GHz channels.
To address above issue, do not add 6Ghz channels in the output of
the get channels command.
Change-Id: I87beea4e80906846fa5d1d1076792385d4424297
CRs-Fixed: 2782638
This reverts commit "Change-Id: af7e67eee58888a811e51c2ef093b7aac639f904".
Since host can't set NDP peer to auth state if test with this change.
So revert this change and raise another change for original issue.
Change-Id: I568de643bfd93611dcfa7a5b836fa67e3773ebf7
CRs-Fixed: 2780195
In OWE transition mode, the AP advertises one Hidden SSID and one
normal ssid and the OWE capable STA connects to the OWE supported
hidden SSID. When connecting to the hidden SSID, if the AP sends
beacon for the unicast probe request sent by driver before
anouncing join success, then the beacon NULL ssid gets updated to
the kernel. Then after successful association, while indicating
the connection successs to the kernel, the current bss is not
filled as wlan_cfg80211_get_bss() is called with the actual ssid
and not the NULL ssid.
Due to this when supplicant sends install key command for this
bss, kernel returns error and set_key always fails.
Wait for the probe response from the AP for the unicast probe
request sent before announcing join success and drop the beacon
received from the AP so that the driver
fills the proper ssid to the kernel bss entry and same ssid gets
used in association completion handler.
Change-Id: Icded0af5d45d3281ab4304bf166bdc318aa7a942
CRs-Fixed: 2782618
When 2nd SAP is turned on throughput is dropping as
rps is not getting enabled on wifi bridge interface.
A bridge interface is a virtual interface created,
when 2 SAP are turned on else, there is no bridge
interface.
To fix this, Disable IPA when 2nd SAP is turned
on, so that packets are not re-routed through IPA
which is reducing throughput.
Change-Id: I250056338cec0924e97ff79d2d9e6ac513f50d66
CRs-Fixed: 2769539
During channel switch for station mode, firmware reports CSA
offload event to host driver, if the beacon IE includes wide
band width IE, driver will process it and then set phy mode
into firmware. Because function lim_process_csa_wbw_ie try to
verify the segments and channel bandwidth in wrong way, it will
lead to device use bandwidth which is mismatched with AP after
channel switch. So data transaction gets failure.
Fix this issue to verify channel bandwidth by correct algorithm.
Change-Id: Ie26c3a887418dc61c0e8de041a9094aa82215098
CRs-Fixed: 2782049
When we receive disassoc from peer, peer will be deleted from hash
table. If driver again receives one more disassoc from same peer
because of any reason, NULL pointer dereference will occur.
To address this do not use peer to get vdev, use pkt_capture_get_vdev
to get vdev.
CRs-Fixed: 2771670
Change-Id: I5bf7b5edff0e1c6b0b73f0c3849c897b269eef4c
Currently hdd is not clearing the scan queue before deleting vdev in
all the cases. This is causing use after free access issue.
To avoid this, cleanup scan queue before vdev delete.
Change-Id: I3e06f868904f450da781ba60887284796abd4ee9
CRs-fixed: 2784645
In runtime suspended state, tx packets cause a
runtime resume and if packets are received in
a way that tput pass count exceeds the threshold
but bytes flush and time threshold are not
reached, the flush timer is started. As part of
dp_swlm_tcl_flush_timer, iowrite can happen even
before the runtime resume is completed resulting
in a NOC error.
Fix is to do runtime_get in dp_swlm_tcl_flush_timer
before doing iowrite.
Change-Id: I83b6d8cfc7b29bc1f30fda94007b3663d6a99405
CRs-Fixed: 2783826
VHT operation info should not be included in HE OP IE if the frame
carries the VHT OP IE or sent in 2.4GHz. Remove the VHT OP info
from HE OP IE.
Change-Id: Ic6e946e334f738ae35f43aa2bf6c9a026b053b79
CRs-Fixed: 2780207
For 11r connetion psk pmk is not updated to roam_req.
Copy the pmk from session in
csr_cm_roam_scan_offload_fill_lfr3_config().
Change-Id: I0c71a4f438b3d2d1569d0e0c6bae03da48737c2f
CRs-Fixed: 2782304
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
Change-Id: I135bfe0e5adb018ebd676d3ac50f958ea9dedf71
CRs-Fixed: 2781932
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
Change-Id: If24f25fb61bda6f9cd18ec45c5ded2eb53748736
CRs-Fixed: 2781932
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
Change-Id: I9f97967870b3bd05355e21b68a77230b920eeb0a
CRs-Fixed: 2781932
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
Change-Id: I6a29180db4bd55385da4c79f793b2d9ff3c9cfb8
CRs-Fixed: 2781932
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
Change-Id: If0b9425f82f9ed793c7639c0ed09eb1f868b6d5c
CRs-Fixed: 2781932
Do each page memory zero operation for pre-alloc pages memory
when the pages memory is put back to pool.
Change-Id: I06689054ff57df2177f9d0d183494a357e4e05d6
CRs-Fixed: 2776363
For STA+P2P GO case, DUT sets operational rates when connecting to AP
as STA, and overwrites it when DUT forming P2P connection as P2P GO.
So, add this change to save operational rates to vdev mlme legacy
object, and avoid to overwrite for other inferfaces.
Change-Id: I2bfbecbc9bc50b8943b1e3de516782e70b125ce2
CRs-Fixed: 2773943
Incase of any error in the driver reinit the dsc transaction is
not stopped resulting in the timeout and system instability.
To mitigate the above issue, stop the dsc timeout incase of
reinit failure.
Change-Id: I59b37581a2e6909b61a32344ae9c4af2118558eb
CRs-Fixed: 2780376
If adapter is changed for a particular vdev and
QDF_IPA_AP_DISCONNECT event was not sent to IPA event
handler when the earlier adapter went down, iface is not
cleaned up.
To fix this, cleaning up the interface when new interface
is being setup for the same vdev and net_dev is not matching.
Change-Id: Icb227df8ef31e9c2c904873559e3b33f05fc03b5
CRs-Fixed: 2777672
DP SOC's fst_in_cmem will be set to true when the FW has support
for placing FST in CMEM; in FTM mode, though this variable will be
set, CMEM parameters will not be initialized. When the mode is
changed to mission mode, we try to de-initialize CMEM parameters
which are not initialized. Do not rely on this variable for
de-initialization of CMEM parameters.
Change-Id: I1818d5572b281b4ae800f3fef0c633fedde9e758
CRs-Fixed: 2783939
Issue is triggered as driver/psoc trans both null
in hdd_soc_recovery_reinit. it happens in below
scenario.
1 driver begin unloading
2 fw assert and ssr begin
3 hdd_soc_recovery_shutdown return directly as driver
trans.
4 checking driver/psoc trans in hdd_soc_recovery_reinit->
osif_psoc_sync_trans_resume will expose issue.
Fix is to avoid SSR when unloading driver.
Change-Id: Ide520bc8adb4a0fc2bcfaf187905fdd3975cb314
CRs-Fixed: 2782035