Send HE 6GHZ band Capabilities IE to firmware by WMI command.
Firmware will add the IE to probe request during scan.
Change-Id: I4a383a46206a50da244485f71e38ca8e4e847c10
CRs-Fixed: 2621402
Currently, wifi-pos uses channel number to get the fwr phymode.
For adding 6g support wifi-pos need to get the phymode from
frequency instead of channel number.
As a part of fix, Add handler for getting phymode based on
frequency
CRs-Fixed: 2617906
Change-Id: Ie65b3ed98760cef152df3697805593efbad4d5a1
Scan cmd still can be exist after scheduler thread is suspended
when host suspend, the scan cmd can't be removed from
serialization list by either complete or cancel any more since
both depends on scheduler thread, suspend thread blocked 30s to
wait scan cmd cleared.
Roam sync event from F/W can't be handled and Roam sync complete
can't be sent to F/W since scheduler thread suspended, then F/W
assert for roam sync cmd timeout.
After receive F/W down event, host will try SSR, but blocked by
unfinished suspend thread too.
Fix: suspend all components including scan before suspend
scheduler thread, make sure scan cmd is cleared and no new scan
is allowed any more before scheduler thread suspended.
Change-Id: I7a3badeedea018e4d92bbe8660692e42923852aa
CRs-Fixed: 2620650
For QCN7605 chip, FW team need athdiag tool to operate FW
information. Host driver need to pass the command and result
between athdiag tool and FW.
Change-Id: Ib3f4498ba560b2b76ec6939760535069777b972c
CRs-Fixed: 2595510
When wlan_hdd_del_mksa_cache is not successful, it prints a failure
message with the PMKSA BSSID without checking whether it is null,
causing it to access a null pointer. Add a null check for PMKSA BSSID
using it in the log.
Change-Id: I7c2f67fe709c61d5371635950021cb8687175245
CRs-Fixed: 2621607
Add vdev start check such that host does not send ARP_NS stats command
to FW when vdev is already stopped.
Change-Id: I94c0b4c26db3f48c7b2de1ad3003c0f0520fa396
CRs-Fixed: 2621587
As for WDI2 over gsi, IPA driver adds is_txr_rn_db_pcie_addr
and is_evt_rn_db_pcie_addr in ipa_wdi_pipe_setup_info and
ipa_wdi_pipe_setup_info_smmu these two structures to check
if doorbell address is PCIe mapped address or not. So, it
need to set such flag from wlan host driver for IPA transfer
and event rings.
Change-Id: Ic71a460c6e87f5b77be737fa9a8e860ab7424e82
Currently, when WWAN channel changes, the list of WLAN channels that
needs to be avoided is given to WLAN FW. WLAN FW indicates the list
to host. Upon receiving Channel avoidance indication, host switches
the operating-channel of SAP (if any and conflicting).
When there is a frequent channel change from WWAN side, it causes
frequent SAP disconnection. To mitigate this problem, as part of
this change send the configuration to the WLAN FW which delays
the channel avoidance indication before sending it to host.
Change-Id: If67775d59b9f61d3592a5f6609d3b002899e5daf
CRs-Fixed: 2615917
Currently there is no support to dynamically set dwell time
for 2g channels.
Add support in existing command SETDWELLTIME to dynamically
configure dwell time for 2g channels.
Along with set, add support to get dwell time for 2g channels
with the existing driver command GETDWELLTIME.
Change-Id: Ifb4722ff3fdb2671e02794fc5b691b06aad98256
CRs-Fixed: 2620366
Optimize logs while sending assoc req and assoc rsp handling
frame by dumping the assoc req frame and not printing each
params separately. Also avoid multiple dump of same frame.
Change-Id: Ibcf2d9aa8de292b9b9f4b4c6a53a0f694d69475c
CRs-Fixed: 2619553
Update default value of dp_proto_event_bitmap to track all
the supported protocol pkt types.
Change-Id: Ib6355f43fa667f80b31418320f3bdb2373fdf9e1
CRs-Fixed: 2618474
As part of the vendor extended stats, add API to
request Rx hardware stats for a given vdev id.
Change-Id: I46d73de21724c4c5ebf4a78075b7b2c1d02fe92a
CRs-Fixed: 2605729
Add a new qca sub command QCA_NL80211_VENDOR_SUBCMD_BTC_CHAIN_MODE.
This command is used to set BT coex chain mode via
WMI_COEX_CONFIG_BTCOEX_SEPARATE_CHAIN_MODE, it has 2 args:
arg1: BTC chain mode, including shared (0, default) and separated(1).
arg2: force restart flag. true means doing vdev restart after applying
the new configurations; while false or NOT set means not.
CRs-Fixed: 2534768
Change-Id: I869096784e5089a6c90e94e76234cd13c9b1a13a
WoW wake-up reason code(string) is already logged and in some
cases wake-up reason code(int) is not populated by firmware
hence remove the redundant wake-up reason integer logging.
Change-Id: Ie8b21965bc9e56bcfe53a80893419a81bd0bed8c
CRs-fixed: 2619212
Currently if hif ctx is null hdd driver unload is returned without
proper cleanup where hif ctx is not required. To avoid this call
runtime pm sync resume only when hif ctx is present.
CRs-Fixed: 2619481
Change-Id: I761c96446024a175746ef377e1e31b593b93b616
Return control after dropping NULL vdev msdus and make sure to
NULL terminate the fisa_flow->head_skb.
Change-Id: I50e469f603b48cb578db30aaaaa9f974d469fde1
CRs-Fixed: 2613251
Validate vdev before delivering the packets for vdev.
Drop the packets if vdev is deleted.
Change-Id: If92d0fba04d96e3830bb4e6f04c395b4fcd54f84
CRs-Fixed: 2606760
Aggregate the UDP flow msdu in to jumbo msdu and deliver to stack.
Stack handling of jumbo msdu saves the CPU mips.
Change-Id: I5a5d3fdbf3037d3b538f737bf4de8edc06260ab1
CRs-Fixed: 2600268
Check the HW TLVs to identify if the flow is already programmed.
If flow doesnot exist make an entry to SW and HW flow table.
Invalidate FSE cache to make fse read updated FT entry
Change-Id: I6acc539c5c7994e438ebb2af9cb3bb5ecbf6e120
CRs-Fixed: 2600268
Currently the strucutre tPmkidCacheInfo is allocated in stack
and used during pmksa operations. This structure takes up ~100
bytes of memory. This will cause stack corruption in low memory
devices.
Move allocations of structure tPmkidCacheInfo to heap.
Change-Id: Ibcf44bc331a9ef94499071af1899914edd75b3cf
CRs-Fixed: 2616488
Add INI parameter for packet capture mode
"packet_capture_mode" - ini to set packet capture mode.
Change-Id: Ie60c142af753c65b44aa0018440e43a215e51a27
CRs-Fixed: 2614578
There are compilation issues if feature FEATURE_SAR_LIMITS
is disabled.
Fix compilation issues relaterd to feature FEATURE_SAR_LIMITS.
Change-Id: Ifdb7c14ea3e973bc63560eb78edd084a53e28974
CRs-Fixed: 2619492
Currently, There is no check to validate vdev in function
wma_form_unit_test_cmd_and_send before sending command to
fw which may lead to fw crash due to invalid vdev id.
Fix is to add validation check for vdev before invoking
wmi_unified_unit_test_cmd and sme_send_unit_test_cmd.
Change-Id: I61db37417f05968365f210515c28eb6184279c77
CRs-Fixed: 2618295
Currently, eHDD_DOT11_MODE_AUTO has not been checked, so if gDot11Mode
ini is set to 0, this would fail to update umac with the correct HE
capability. Add an if check for eHDD_DOT11_MODE_AUTO to check if it
has been enabled.
Change-Id: I5d26314f4bcfedcf1e913625ac946118ddb9a983
CRs-Fixed: 2619091
Removed ol_tx_hl_vdev_bundle_timer definition for
kernel v4.15 as __os_timer_shim will wrap the kernel
timer handler API prototype as per new definition for
kernel v4.15 and above.
Change-Id: I873ba706050ea8020e4af7133c86ef8aabb93d53
CRs-Fixed: 2602835
Currently there is no inis for NAN component:
1. To configure the keep alive period for the
NDI interface.
2. To enable/disable discovery of NAN cluster with
Master Preference (MP) as 0 when a new device is
enabling NAN.
Add ini support to configure above mentioned values.
Change-Id: I47b67eb89fb8849960a9f492d2909e45b96308f3
CRs-Fixed: 2617839
For ADDROAMSCANCHANNELS command, always append user given channels
into the existing preferred channels list in driver. If the preferred
channel list exceeds SIR_ROAM_MAX_CHANNELS i.e. 80 then overwrite
oldest entries with new channels.
Change-Id: Ifa12b1e4d75dd927bdbceea9a076ed1bcbd91f4f
CRs-Fixed: 2618318
In hdd configure sar index api if the FW supported version is not
SAR_VERSION_2, in that case there is a mem leak issue as the
memory is allocated for sar_command is before the fw sar version
check and in case of fw sar version check failed, memory allocated
for sar command is not freed.
To resolve above issue, move the version check before the memory
allocation for sar command.
Change-Id: I1d5e6bad63134c89ac456c3247eebad79e8f8c79
CRs-Fixed: 2618648
Currently there are unnecessary/duplicate logging. Identify and
reduce those logs that are not necessary.
Change-Id: I648b84786f9009d45e54fa67c21c834a1eae1608
CRs-Fixed: 2617648
Add pld API to get audio timestamp needed in FTM wlan
timesync feature to synchronise the audio clocks of
master and slave devices
Change-Id: I6f08e33904e26728492286f516ce5a8074afd1ea
CRs-Fixed: 2616917
Presently, there is a very narrow race condition that causes
scheduler_thread to remain in a suspended state for undefined period of
time. The race condition occuers between idle_psoc_timeout and
wlan_hdd_cfg80211_resume_wlan.
As a part of idle_psoc_timeout, the driver calls hdd_wlan_stop_modules
that sets the flag "stop_module_in_progress" and checks if driver is in
suspended state. If yes, it resets the flag and returns. But in the case
of a race condition, before this reset and return is carried out,
wlan_hdd_cfg80211_resume_wlan is invoked. The validate_context inside
the resume function fails due to the above mentioned flag being set. As
a result, resume fails and the driver stays in suspended state. This
causes the driver to enter a infinite loop of stop_modules not being
successful.
To close this small window of contention, remove the validate_context
check. hdd_ctx is always guranteed to be valid and also DSC takes
care of synchronizing the operation, thus the check is redundant.
Change-Id: I723f78e4c33bdc531776c46eff2428dbd869493f
CRs-Fixed: 2616177
Currently there are unnecessary/duplicate logging. Identify and
reduce those logs that are not necessary.
Change-Id: I5473db8cf2406aa6aa2f8531cf5a0cc8b7bd2188
CRs-Fixed: 2614121
Currently, wma->peer_macaddr is passed as peer mac address for
NDP peer removal. This gets filled only when PEER_STATS_INFO is
queried from firmware. This is not the right mac address to be
sent for peer removal. Driver might attempt to remove an invalid
peer(or NULL) which leads to assertion in wma_remove_peer.
Get the peer mac address from tpDeleteStaParams which is
sent from lim and pass it to wma_remove_peer.
Change-Id: I90beb7edc1d6ad5790ed972dcb9d3ac42bc04ea7
CRs-Fixed: 2617918
Currently there is no SAR index is configured to the FW
before device goes into suspend mode.
with the new requirement, configure the sleep mode index
as sar power limit to the FW before device goes into
suspend mode and configure safety mode index to the FW
on wakeup.
Change-Id: Icedbab047ec3bb252f0ed9c1b2baf04d2726a60e
CRs-Fixed: 2617102
lim_sta_send_add_bss_pre_assoc, sta_send_add_bss and
wma_send_peer_assoc have duplicate logs.
Also send_peer_assoc_cmd_tlv print all the required info with
flags and other params.
So remove the duplicate logs and keep only missing info in
sta_send_add_bss and wma_send_peer_assoc, which is not printed
anywhere.
Change-Id: Ic5aa63f1a4296553b584bcc768d8c5cb04ddddf3
CRs-Fixed: 2616910
Add support SAR request-response event. When
sar_unsolicited_timer expires driver sends
QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS_EVENT event to
user space and expects user space to set sar power limits
with the vendor command
QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS.
Add a request-response event to wait for
QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS vendor command from
user space. If driver does not get
QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS command from user space
for a specified number times, driver configures the sar safety
index to the FW.
Change-Id: Ic2b9e0b7fe06093ce849fb46df7bfce5da409ef6
CRs-Fixed: 2615519
Add SAR unsolicited timer to the driver. This timer starts
on every data tx (if not already running) and stops on
command QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS.
If this timer expires, a vendor event
QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS_EVENT is sent to the
user space to issue the QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS
command.
Change-Id: Ic30e5ac606d2b6b0cbc9209174adcd5213eac08e
CRs-Fixed: 2615510