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
In function lim_process_action_frame handle frame
with action category ACTION_CATEGORY_RVS.
Change-Id: Ib1ee9f97561f6bddc5508e2cbf742fd68c5e8258
CRs-Fixed: 2649895
Regulatory function in qcacmn has new name so update
qcacld to have correct call.
Change-Id: I95e7c5148471ded68f97a7ac56d5eb4a770e82f2
CRs-fixed: 2650575
When host driver sends NDP_END request to firmware, driver starts
a wait-for-complete and waits for the NDP_END confirm event.
It unblocks the wait upon getting successful NDP_END event from
firmware. But firmware sends response with a failure status if
the NDP is already gone and it doesn't send NDP_END event.
NDP_END requester waits till the timeout(2 seconds) happens for the
NDP_END confirm event from firmware in this case. Unblock the
wait-for-complete in this case also to avoid the unnecessary wait.
Change-Id: I779248455b07cd934ceaf2c23e79f3943aff5e41
CRs-Fixed: 2651663
When multiple measurement requests are received in a single beacon
report request, multiple iterative scans are triggered for each
request for the frequency list provided in the request. This results
in free of rrm context global frequency list by the second
request rrm scan in the iter measurement timer start failure path
and was accessed by the scan done callback of the 1st measurement
request.
Add null check for rrm context frequency list and also if the
timer is already running, send measurement done indication for
that request.
Change-Id: I149ba47872095228595cd52535fb76c422eefba7
CRs-Fixed: 2648618
In GO+STA MCC scenario, after GO and ref P2P client wps 8
ways EAP frame exchange, the GO will send EAP Failure to peer
to finish WPS and send disassoc frame to peer. The EAP Failure
frame is sent by data path, but the disassoc will go through
control path. In certain condition, the GO data path queue may
be in paused specially in MCC case, which may cause the disassoc
frame sent before EAP Failure frame. And that will finally result
to P2P connection failure.
To fix by checking EAP Failure tx pending before sending disassoc
to peer in GO case.
Change-Id: I1f4b19372066da7db4b2dda050ea7a2f4f737b17
CRs-Fixed: 2637298
Currently for monitor mode there is no bandwidth vote and
as a result voting level is none. So request high bus bandwidth
vote level for monitor mode.
Change-Id: I3efb755c80dadc07b5f672c18d9bae862eac378f
CRs-Fixed: 2643405
Remove max_tx_power from wlan_mlme_power struct
and ini_tx_power from lim_max_tx_pwr_attr struct
and all their instances.
Change-Id: I982a15b71b64d368b623128e04f09a8f3bf4f5ec
CRs-Fixed: 2645922
As a part of requirement, new hang reason codes were added to the
upstream.
Add the corresponding internal hang reason code mapping for the
upstreamed enum.
Change-Id: I55b44f9f51d5f9e7dd0be7461f1f0040ecdda4c3
CRs-Fixed: 2650294
As a part of requirement, there are new hang reasong codes added to the
qdf_hang_reason. Use those reason codes to trigger recovery at the
respective scenarios.
Change-Id: I4718012673ca206cb2f1112471f2b0d70caa6452
CRs-Fixed: 2630952
The QDF framework for triggering self recovery is undergoing changes to
include support for multiple psoc driver. As the MCL host is still
multiple psoc agnostic, create dummy wrappers over the
cds_trigger_recovery so as to maintain compatibility with modified
qdf_trigger_self_recovery
Change-Id: I42163879c3e786a2b9ab2f9f5785be5531754e77
CRs-Fixed: 2617709
During set channel request for monitor mode vdev start is triggered.
The vdev operation is completed only when vdev up is send to FW.
Wlan driver does not wait for completion of the vdev up operation
and after posting set channel request context is returned to supplicant.
Supplicant sends vdev stop operation for montior mode which results in
vdev up command sending to FW after vdev stop.
Fix, is to wait for completion of vdev up operation, then return the
context to supplicant.
change-ID: I33d7f9f85848b74d1206cff145e27ca2d96580a0
CRs-Fixed: 2627239
HE 6GHz band capabilities are copied from wrong byte offset hence
incorrect capabilities are configured to FW.
Fix the 6GHz band capability offset and size values while
configuring it to FW.
Change-Id: I0cc97610e32f3e5fbd64c6ed72d3591ae5127471
CRs-Fixed: 2645844