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
htc hang event configuration has been added, enable
the build configration for the feature.
Change-Id: I5441f95288db46ca58ef44f4c825b9f4f7cf59ac
CRs-Fixed: 2651750
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
Currently the expectation from the BLM is to flush
all the BSSIDs which are present in the blacklist
when the user does an explicit on-off, which is
meeting the expectation, but the FW does not flush
this info which leads to async between the two.
Fix is to send 0 blacklist BSSID to FW during
Wifi-off so that it also flushes the list.
Change-Id: I7a0629fefb12deaeec0b5eeea06169272621bf82
CRs-Fixed: 2647018
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
wmi hang event configuration has been added, enable
the build configration for the feature.
Change-Id: I8c7034d07f369f79191a2496e9000f83eecdba6e
CRs-Fixed: 2651741
In qdf new hang event notifier chain has been added, enable
the build configration for the feature.
Change-Id: I98e2701499133d208af863b401fc47fafec35226
CRs-Fixed: 2648449
In qdf new os specicfic notifier chain has been added, enable
the build configration for the feature.
Change-Id: Ic08b3ebc3b173839496428a27d0eb4d7a1633cb6
CRs-Fixed: 2648245
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
In the API policy_mgr_checkn_update_hw_mode_single_mac_mode
the driver checks that if the bands are different, then go
for DBS and single mac mode is not required.
In the case of STA on 5ghz and SAP now coming up on 6ghz
the bands would be different but the hw mode needed
would be single MAC mode and not DBS, but according to the
check mentioned above the driver would still return and
the final hw mode would be stuck into DBS which would
lead to unnecessary power consumption because of the second
MAC being still swithched on having no vdev attached to it.
Fix is to check whether DBS is required and avoid the condition
mentioned above.
Change-Id: I91d91894dde1a3b84c22f9de59c83a5f0b727315
CRs-Fixed: 2651178
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
Table pm_next_action_three_connection_dbs_2x2_table currently
doesn't support NeGo/Auto 5G + SAP 5G + SAP 2.4G case, which
cause the third connection for 2.4G SAP start failure, so update
the policy manage table to support it.
Change-Id: I4bed516f2ac31387d94c1753a7d539cc07d9814e
Due to stack size limit, use dynamic memory allocation instead of
using stack resource.
Change-Id: Icf00bc43718286e1b6239c5e35c6e11964712f8e
CRs-Fixed: 2650690
Per HW team's analysis, we find a TXDMA HW limitation:
ADDR0&0x1FFFFFFF8 should not equal ADDR1&0x1FFFFFFF8.
Otherwise, TXDMA will run into exception, which cause TX fail.
ADDR0: the address of last words in previous buffer;
ADDR1: the address of first words in next buffer;
We hit this limitation in NAT forward TSO jumbo case whose buffer
address of two fragments like below:
tso_frags = (
(length = 0x42, vaddr = 0xFFFFFFD0F5FA2F82, paddr = 0x1F5FA2F82),
(length = 0x05A8, vaddr = 0xFFFFFFD0F5FA2FC4, paddr = 0x1F5FA2FC4)
In this case, ADDR0 = 0x1F5FA2F82 + 0x42 -2 = 0x1F5FA2FC2,
ADDR1 = 0x1F5FA2FC4, then
ADDR0&0x1FFFFFFF8 = ADDR1&0x1FFFFFFF8.
To avoid this, shift server bytes for ADDR0.
Change-Id: If9334a6861a03432eb70356df41a11ad971159e3
CRs-Fixed: 2641066
Bring up SAP+SAP with acs mode on 5G and set chanlist only with
DFS channel, run heavy traffic to make noisy on SAP beacon channel,
then DCS will be triggered to do ACS again for choosing better
channel to switch, new DFS channel will be choosed, but channel
switch is failed.
DCS policy is SAP do channel switch one by one with the same target
channel, ignore three fail point concurrency check in
wlan_hdd_cfg80211_start_acs/wlansap_set_channel_change_with_csa/
wlansap_roam_process_dfs_chansw_update, furthermore need to add DFS
channel to acs channel list in sap_get_freq_list.
Change-Id: I7360792105cd1fdd4f4c75040c510cc620c3d5c5
CRs-Fixed: 2648641
Currently the bitmap of action frames that can wake up the host
is sent via the wmi command WMI_WOW_SET_ACTION_WAKE_UP_CMDID.
This bitmap doesn't include RVS action frames so currently the
host doesn't wake up for rvs action frames.
Enable wake up for rvs action frames during runtime.
Change-Id: I9fac8e74cdb7b529f858f7f2027906ca2b3083b3
CRs-Fixed: 2649927