When beacon report request is received from AP in table mode,
sme_rrm_issue_scan_req() is called recursively till scan results
in all channels for that country code is reached. In 6GHz, the
number of channels are high and recursively calling
sme_rrm_issue_scan_req for that much channels causes stack
corruption.
Remove recursive call to the function sme_rrm_issue_scan_req.
Instead, loop all the frequencies in the list and send
scan results on those channels.
Change-Id: Id75d00cfc98fcf218c6b1f85da3270e210697403
CRs-Fixed: 2654375
With the new feature when the recovery is triggered informatation is
collected from the various modules and send the data to user space.
Change-Id: I8d7bb5be46df6150d0efa1cdb8db74a135ba89d7
CRs-Fixed: 2651903
In csr_nonscan_pending_ll_next/csr_nonscan_pending_ll_peek_head and
csr_nonscan_active_ll_peek_head all commands umac_cmd is mapped
to tSmeCmd. This can lead to invalid pointer access as umac_cmd
can be of different type and does not always map to tSmeCmd.
Thus return the cmds only with source WLAN_UMAC_COMP_MLME, which are
initiated by sme and has tSmeCmd mapped to umac_cmd.
Change-Id: I73e75ef5ea754f4ef548a1cb9b3de2d0e566adf6
CRs-Fixed: 2655838
If start bss fail in logs it indicate start BSS timeout, so
fix the logs to indicate proper logs.
Change-Id: Ie470550a1606a1cddd6577f0945386e8c1a5cc13
CRs-Fixed: 2655836
If the SAP is already in stopping state and wlansap_stop_bss is invoked
as a part of stop_adapter, it returns error which causes the
stop_adapter not to wait for the vdev to return to proper state.
To avoid this, return success in case of SAP_STOPPING for the event
eSAP_HDD_STOP_INFRA_BSS
Change-Id: I99a2cd0a1d12b8e43fb3e88b6889e1d651633283
CRs-Fixed: 2654042
nla_put fails when there is no sufficient buffer to put the
beacon IEs. Enhance the log to print available buffer length and
the beacon IEs length.
Change-Id: If6e37455f6fbe795b293f626ad9cbb24a9effcd0
CRs-Fixed: 2629807
Update the hang data for the pessssion. For the pe module
update the various states which will give insight into the reason
for recovery.
Change-Id: I7e3f18bd8b18dd0d56c09d4a4ce38ce7c3677ecc
CRs-Fixed: 2651762
Remove ol recovery notifier to log ce info as the notifier
is added in hif layer.
Change-Id: Ia3b56f677d7207f7b650ee1060032c285fa946fe
CRs-Fixed: 2649143
If DUT connects to an AP in VHT mode with 40/80Mhz bandwidth in 5Ghz
band and then if user changes the country code(EC) where only 20Mhz
bandwidth present in 5ghz, then after association AP may ignore DUT's
support for only 20Mhz and keeps transmitting data in 40/80Mhz.
As DUT doesn't support these bandwidth, DUT doesn't ack the data
packets with higher received higher bandwidth. Thus DUT's RX throughout
degrades. This is an IOT issue where AP expects OMN IE with channel width
set to 20mhz . As DUT is not sending OMN IE low throughput issue is
observed
Hence host adds OMN ie in the association request only if the AP to
which DUT associates advertises OMN IE and DUT supports VHT.
Change-Id: Ie59323c4c7dc4e4abc332e7204768b6a560d22d1
CRs-Fixed: 2650234
Currently there is no provision to configure OCL mode in FW during
driver bootup.
To enable this configuration add a new INI configuration parameter
gOclCfg.
Change-Id: I87c9131f5395c394f745e0170f0d9b3d1571d030
CRs-Fixed: 2644312
In peer assoc the 40MHz flag is set if HT is enabled and bandwidth
is 40MHz which fails the 40MHz setting for 6GHz connection as HT
is not supported in 6GHz band.
Remove the HT check for 40MHz flag setting in peer assoc.
Change-Id: I2a34dd6fbbca50912952f532e8b485148bf3c3a2
CRs-Fixed: 2649524
Whenever a recovery is triggered in the hdd layer update the
various vdev data for hang event:
1) Vdev id
2) vdev opmode
3) vdev state and substate
if the reason for recovery is max scan failures update the last
scan reject, reason and the vdev id on which scan is rejected.
Change-Id: I84928e56bac1fe58e7eada0a0574b2f23124ae65
CRs-Fixed: 2651694
Update the hang data for the cds module, as part of the hang
data following information is filled:
1) Hang Event version
2) Wlan Driver version
3) Reason for recovery
Change-Id: Ie5a008d1f9512f8e83a1d099fe333b0d2ce90abb
CRs-Fixed: 2650848
Destroy PM QOS spinlock after unregistering PM QOS notifier. Use
hif_pm_runtime_put() instead of hif_pm_runtime_put_noidle() so that
it can trigger a runtime PM suspend after usage count reaching 0.
Change-Id: I93949857636de6d9807fa2abceec818a8584c596
CRs-fixed: 2651516
Add code to handle hang event data and length received
from platform driver through uevent.
Change-Id: Ie4acf55cd7d2e602ad10eedbdeed045acfd85f56
CRs-fixed: 2650831
Currently, wlan_hdd_cfg80211_convert_rxmgmt_flags set rxmgmt flags
based on RXMGMT_FLAG_EXTERNAL_AUTH & flag provided by lim.
For some action category like FST, RVS driver itself sets flag value as
RXMGMT_FLAG_NONE. In this case, wlan_hdd_cfg80211_convert_rxmgmt_flags
return -EINVAL and considers it as err.
Fix is to remove if check for wlan_hdd_cfg80211_convert_rxmgmt_flags
to avoid err print in case flag received is RXMGMT_FLAG_NONE.
Change-Id: I321ef05d0571a5b14793d36abfd327dfa97c70a5
CRs-Fixed: 2654080
In stop bss write to reo remap control registers happen
after pcie power collapse is enabled. As pcie power collapse
is enabled sometimes reo remap register write is not going
through. For sta + sap concurrency this is resulting in NOC
error when other sta interface connecting to AP after stop bss.
Disable autonomy or reo remap registers to sw host destination
rings happen as part of last sap client deregistration. In this
change deregister sap clients before stop bss.
Change-Id: Ic84a1d45b5b376ec8ad28a05246efc4252b390ab
CRs-fixed: 2643092
NDIs don't have any peers and there is no need to send/receive
any data frames on NDI as such. NDPs latched on to the NDI
have peers and they are registered as STA properly.
Change-Id: I545ab01c6c67febdeba39ab52c9e4263e1757002
CRs-Fixed: 2651435
As part of SSR, hdd stop adapter is called which in
turn calls undo acs which frees the sap channel lists.
Now if SAP was already on, and then SSR happens then this
channel list would be freed.
After SSR the SAP would again be restarted.
Now if the driver gets an LTE-coex event from the FW,
there would be no channel-list left in the ACS list, as
it would freed, so there would be no suitable channel
for SAP restart leading to SAP stuck on an unsafe
channel which impact LTE throughput.
Fix is to call undo acs as part of deinit adapter which
would ensure that interface down has happened.
Change-Id: I5bf7bfcc20ccc686792b6b1df5d42b03288f7766
CRs-Fixed: 2650261
With the introduction of 6GHz channels, some of the channel
frequency checking code have to be refined to make sure
all non-2.4GHz channel frequencies are identified by
!WLAN_REG_IS_24GHZ_CH_FREQ().
Change the channel frequency identifying code within the
following functions according to the above guideline:
wlan_hdd_cfg80211_start_acs()
hdd_cfg80211_update_acs_config()
hdd_get_sap_operating_band()
hdd_update_acs_sap_config()
wlan_hdd_sap_p2p_11ac_overrides()
wlan_hdd_cfg80211_start_bss()
wma_send_pdev_set_pcl_cmd()
Change-Id: I6dfb8b4e43a7f632255fb89552490ce404874998
CRs-Fixed: 2648176