Currently, DUT is able to detect the radar event
causing channel switch even if disable dfs channel
switch ini is set. Due to this, there is a chance
of unwanted CSA.
Adding check for disable dfs channel switch ini before
detecting the radar. If gDisableDFSChSwitch = 0 then
detect the radar event else ignore the radar event.
Change-Id: I977d93e47ee35026662d55a8e292c8790ddc7d31
CRs-Fixed: 2905871
Previously, the hw mode changing is not allowed when SAP is CAC
state in old target which supports 1x1 dbs. The reason is
some action frame would be sent out when chainmask changes in
those target. But for 2x2 dbs target, chainmask is not changed
and hence not action frame will be sent out.
Allow the hw mode change for 2x2 dbs target when SAP is CAC.
Change-Id: I2d123a7f0065a562048584f56d5dd7640aaaf975
CRs-Fixed: 2892813
Currently mdelay is used which leads to busy wait blocking CPU from
running other process, so use msleep which yields cpu for other tasks.
Change-Id: Ia7c76cfb1c950e78008f6fe19825733cbc261e50
CRs-Fixed: 2888309
session_entry->lim_join_req is NULL for LFR2.0 roaming case, but some
functions will access it like lim_check_oui_and_update_session(),
lim_get_cb_mode(). Temp assign session_entry->lim_join_req with
reassoc_req.
Change-Id: I1122f9dffea38741700599fbef10bb0d4972b1b0
CRs-Fixed: 2874885
When host driver receives RSO_STOP from userspace, HDD sends the
RSO_STOP down to lower layers and starts a wait for response upon
success status.
Below layers(connection mgr/CSR) ignore the RSO_STOP request and
return success if the current state is not RSO_ENABLED or
IN_PROGRESS. This keeps the HDD waiting for response and a timeout
happens after 2 seconds.
So, wait for RSO stop response only if roaming is in enabled state
to avoid this wait and timeout.
Change-Id: I3ed81c5da26ebe05d17fc37dc43665f1f7b7c8b2
CRs-Fixed: 2901494
Add new ini "enable_twt_24ghz" to enable/disable host triggered
TWT in 2.4Ghz connection. Check this ini value in TWT get
capability. The userspace will query the self capability before
triggering the host TWT.
Change-Id: I3544de89f438fc526f8a2554c6aeebcd25d6c415
CRs-Fixed: 2904775
On quad-core cpu paltform, the qdf_for_each_possible_cpu() iterate
8 times in the hdd_pm_qos_add_request() trying to add pm qos request
for CPU0~7, but only CPU0~3 actually. There is same issue in the
hdd_pm_qos_update_request()/hdd_pm_qos_remove_request(), it hit the
kernel waring about "called for unknown object" when try to update
/remove pm qos request for non-existed CPU4~7.
The fix is to use for_each_present_cpu() to traverse each cpu
to avoid the kernel warning.
Change-Id: I38fe4a6807452e11eb7230c2c194af7cbae28564
CRs-Fixed: 2902547
API sap_indicate_radar needs to return sap current
frequency instead of channel.
Change-Id: I62a4aae0604b11587a14d17d4c641262b8019ab3
CRs-Fixed: 2900489
This function call is not needed because the capabilities
are being sent post vdev start correctly. The call here sends
the capabilities incorrectly at a later time so the good
values are overwritten.
This reverts change I32af660724cfaecfe59da153fea9f98d24b0d4cb.
Change-Id: Ie57a598f1055ee6a3d5a5f9cd353724dc620ab1d
CRs-fixed: 2905402
Channel number may be same for different bands due to which
non-dsrc channel may be treated as dsrc or vice-versa.
Fix is to find channel is dscrc or non-dsrc based on frequency.
Change-Id: I349172713dda6880771e14231aeb1b4419a86e01
CRs-Fixed: 2902986
If the WLAN driver stops sending up beacon information
due to other WIFI operations (like scan and disconnection),
Driver must send pause indication to wpa-supplicant with
reason code defined in enum
qca_wlan_vendor_beacon_reporting_pause_reasons.
Currently, host sends invalid pause reason in case of
scan.
Fix is to send proper reason code in pause indication
in case of a scan.
Change-Id: Id99e5a29be09fbde2c23908ab1f85d40ca3d74b8
CRs-Fixed: 2890110
In TWT status query, the driver fills the TWT info frame enabled
flag if TWT info frame is disabled. This gives wrong information
to the userspace.
Set the TWT info frame flag appropriately if info_frame_disabled
flag is false.
Change-Id: I319da5aacaec792090c0eca05d2a4be8b280e3e0
CRs-Fixed: 2902548
In target_if_register_mgmt_data_offload_event(), check NULL value of
wmi_handle before it's used by wmi_service_enabled()
Change-Id: Iea51c59770258fd10468bb439f559094b563851f
CRs-Fixed: 2900533
Function hdd_ipa_update_rx_mcbc_stats()'s implementation
shouldn't be enclosed by macro SAP_DHCP_FW_IND, so move it out
of the block controlled by SAP_DHCP_FW_IND to avoid compilation
error when the same macro is not defined.
Change-Id: I1fa6d350f180dec3a82432f798f026b75ac89639
CRs-Fixed: 2903757
CNE queries stats via the ext stats vendor cmd. As
part of this, REO commands are enqueued to HW for
each tid to get mpdu_rx and mpdu_rx_missed counts.
In the scenario where the first ext stats request
post STA disconnection and re-connection times out,
the counts from the previous connection are reused.
The second ext stats request can successfully get
the new counts from HW in which case, there is a
possiblity for the mpdu_rx count sent in the second
stats response to be lower than the count sent in
the first stats response.
Fix is to reset the mpdu_rx and mpdu_rx_missed count
on STA connection.
Change-Id: I4d5bb646050f667bb884184b4f65fa0fcf4cfd38
CRs-Fixed: 2898969
when the worker thread executes wma_data_tx_ack_work_handler()
as part of driver load/unload, driver frees ack_work but dosent
reset to NULL which results to double memory free in wma_stop()
The fix is to make sure to flush this work and reset to NULL
before the wma_handle gets freed.
Change-Id: I4f56db87256b0f8828c00a2e70158cd76afe1ee0
CRs-Fixed: 2895664
Add conditional statements to enable/disalbe FISA compilation
for certain builds.
Change-Id: I76fbe3336b9ad45dc0a4db585fd012778ba792aa
CRs-Fixed: 2901065
Add support to allow TWT setup re-negotiation for the existing session.
If the setup request is received:
- before the host driver receiving the setup response event from
firmware for the previous setup request, then return -EINPROGRESS.
- after the host driver received the setup response event from
firmware for the previous setup request, then setup_done is
set to true and this new setup request is sent to firmware
for parameter re-negotiation.
CRs-Fixed: 2897896
Change-Id: I4d0cc5dac8d569a2e57c70ae6896ad1a24937597
Reduce the log level alloc failure since it is not fatal. Log the
requested size of memory instead of last ring size found in the
case of alloc failure.
CRs-Fixed: 2894342
Change-Id: Idfb0eec7421e4568008517e35b2fb928f09b6818
Enable 4address frame format for the packets to the AP.
Enable MEC check for the sta dp vdev.
A new ini is added to enable WDS feature specifying the
desired WDS mode.
CRs-Fixed: 2889438
Change-Id: I99ccb91adf283a1ed863902ec4b31f1c3e821d32
Set CONFIG_WLAN_STREAMFS depend on CONFIG_RELAY,
which can support write CFR data to the node:
/sys/kernel/debug/xxx/cfrwlan/cfr_dump0
Change-Id: I2a9b1920c55ca16277282d5430ad3f3de5c4795d
CRs-Fixed: 2902315
Presently host prepares and fills wma req in wma_hold_req_queue
after sending pdev_set_dual_mac command to FW. Host uses same wma
request to process response from firmware. If host gets FW response
before filling wma request to wma_hold_req_queue, host fails to
process pdev_set_dual_mac cmd response. And thus the wma request
queued after sending pdev_set_dual_mac command gets timeout.
Hence prepare and fill wma req in wma_hold_req_queue before sending
pdev_set_dual_mac command to firmware.
Problem scenario:
1) Host send pdev_set_dual_mac cmd to fw in kworker thread and then
gets suspend before filling wma req into wma_hold_req_queue.
2) Host gets pdev_set_dual_mac cmd response from fw and schedular
thread runs to process response where it doesn't get wma request.
3) Now kworker thread gets scheduled and fill wma req and gets
timed out.
Change-Id: I4d32e4459c32843c8fdb9a48262b5a55eecf2cbd
CRs-Fixed: 2902212
The WMI command tx credit request/return period is impacted
by host CPU loading/scheduling. For a real world case, when
at most 90 WMI commands are queued, and the period is 30ms,
at least 2.7s is needed, so set timeout to 4s for safety margin.
Change-Id: Ice444946292cd4d3cb82f1672a157d3858ac8c5e
CRs-Fixed: 2875205
Currently, host receive the mantissa in TU from upper
layer.
Add support for below TWT setup additional parameters:
Mantissa in Microsecond
Add changes to receive mantissa value of wake interval
in microsecond.
Change-Id: I00ac5006002a6b4d521a005080a1f5a787f54ba7
CRs-Fixed: 2888361