Currently net dev stats are handled using QDF MACROS which is not
ideal approach. So modified it to OS agnostic inline API's for
handling net dev stats.
Change-Id: I1739779c4fa7699e867b9aa75aff48546b7754ac
CRs-Fixed: 3250935
Currntly RX_DESC_DEBUG_CHECK and FEATURE_ALLOW_PKT_DROPPING is enabled
by default for KIWI, extra check per msdu will take lot CPU cycles and
increase RX desc size.
disable them for perf build on KIWI.
Change-Id: I1d75f4f93a151d931321e7a327b5fd569bdbb987
CRs-Fixed: 3265714
Add ACS band check for indoor STA+SAP force SCC logic.
If SAP ACS band only support 2.4 GHz channels, do not move
to 5 GHz STA indoor channel for SCC.
Change-Id: I330dee9c35d2955cedc2b802a5bfb4d13ecb5d4c
CRs-Fixed: 3263428
There are two different name with different range of value for
aliasing INI's. So, it should pick the valid range of value wrt INI
name.
Change-Id: Ia0ea4ebc6b1f96b38243c4e0693e47be99868953
CRs-Fixed: 3258760
Currently, host sends wdev as NULL to cfg80211_vendor_event_alloc,
this allows userspace to process nl_cmd for
QCA_NL80211_VENDOR_SUBCMD_OEM_DATA_INDEX event with 1st interface
which is P2P in supplicant instead of WLAN interface.
Set wdev with the proper value for STA interface to avoid processing
nl_cmd with P2P interface by userspace.
Change-Id: I3376640226356bddc57d9c13e6c438498ee58326
CRs-Fixed: 3262753
Currently vdev up status check is wrong
Handle the return status of vdev up properly
Change-Id: I9dbe226d572295038256d5ac42400a4063f358f8
CRs-Fixed: 3265590
When STA+SAP is operating in indoor channels, mandatory
channel list is added to the supported channel list of the
seconday interface.
But the API is common even for SAP+SAP and fails to detect
interfering channels in case of SAP+SAP due to this.
So, limit the mandatory channel list consideration only
for STA+SAP.
Change-Id: If7063e81d0daa9ef86b8af71ba517756f96edb32
CRs-Fixed: 3245034
In whitelist roaming, the roam offload event is sent
for an BSSID with different SSID, however host driver
copies the connected bssid in the external auth event
to the userspace. This leads to preauth failure.
Cache the ssid from the beacon received as part of the
roam frame event before every roam auth offload event
and use that ssid for external auth events to userspace.
Change-Id: I634992baf0c98054897707aaf3b1265e17d46f04
CRs-Fixed: 3262859
Add sysfs entry to configure status and dscp values
used by application for regular traffic and last packet
to mark traffic end.
Change-Id: Ib0e0aaf64e24da3b402b695840850b01c19a4991
CRs-Fixed: 3207451
Add ucfg APIs to set/get feature status and dscp
values and structure to store values
Change-Id: I839c89696581b8aefd873a120d938a5cbbc32899
CRs-Fixed: 3255692
If particular channel's last scan time is less than the last_scan_ageout
threshold, skip that channel from ACS scan frequency list.
This change optimises the ACS scan time by reducing the number of
channels in ACS scan request to firmware.
Change-Id: Id81815035a89039ef1f492a622c5d89cb4aa298e
CRs-Fixed: 3239387
Reorder the BTM logging according to the below
scenarios:
Scenario 1: Roaming to AP2 and BTM query is sent to AP2.
1. Connected to AP1.
2. <Low RSSI> triggered roam to AP2. Successful roam to AP2.
==== Roam stats event 1 with full TLV case with AP1
(scan_type == partial, roam_trigger = low rssi) ====
3. BTM query to AP2 after 1sec.
4. BTM req from AP2
5. BTM resp to AP2
==== Roam stats event 2 with full TLV case having AP2 BTM info
(scan_type ==NO_SCAN, roam_trigger = BTM) ====
Scenario 2: Connected to AP1, send BTM query to AP1
==== Roam stats event 1 with full TLV case having AP1 BTM info
(scan_type ==NO_SCAN, roam_trigger = BTM) ====
Scenario 3: BTM request initiated by the AP
1. Connected to AP1.
2. AP1 sends BTM request with disassoc imminent set.
3. Roam scan is triggered.
4. BTM response to AP1
5. Roam to AP2.
==== Roam stats event 1 with full TLV case having AP1 BTM info
(scan_type = full or partial, roam_trigger = BTM) ====
6. Send BTM query to roamed AP2.
7. AP2 sends BTM req.
8. Send BTM resp to AP2
==== Roam stats event 2 with full TLV case having AP2 BTM info
(scan_type=NO_SCAN, roam_trigger = BTM) ====
Change-Id: I4571cbe75397fb795046abe8711571264ed98a65
CRs-Fixed: 3260060
In the api cm_roam_mgmt_frame_event(), TX status is sent
without conversion to the userspace resulting in
wrong value of tx status during logging.
Correct this by converting the tx status value before
sending to userspace in order for userspace to properly
evaluate the tx status.
Change-Id: Ie4b6b8bff5e8b9c88edfaf303ce6a4ae370edd67
CRs-Fixed: 3250473
Currently in peer assoc, MCS rates are filled on basis of on-channel
TDLS connection BW. For cases such as TDLS offchannel on 6 GHz, the bw
can go till 160 MHz and in peer assoc those MCS rates for bw 160 MHz
should also be filled. As fix, if offchannel 6 GHz is supported then
fill the MCS rates for 160 MHz BW as well.
Change-Id: I00605bd66f403f0171e0f81b9108d6460ef109c5
CRs-Fixed: 3250792
When build assoc req, partner link has no pe session yet, so it just get
original ht cap from mac->mlme_cfg->ht_caps.ht_cap_info, which is got from
CFG_HT_CAP_INFO with default 364, BIT1 supportedChannelWidthSet is 0.
Assoc link has no such issue, since pe session is created when build
assoc req, pDot11f->supportedChannelWidthSet is reconfiged in
populate_dot11f_ht_caps.
Change-Id: Iec7b34d8364618948e9ac2a50462bcb4ede13433
CRs-Fixed: 3267261
Currently host starts the start_rso_stop_timer when it sends roam
stop related commands to firmware. And tries to stop the timer when
it receives roam event with reason ROAM_REASON_RSO_STATUS or
ROAM_REASON_HO_FAILED. Since firmware also sends roam event with
above reasons when host configs other roam parameters. This causes
host confused about whether to stop the timer or not.
To resolve this issue, add one more condition
roam_event->notif_params == WMI_ROAM_SCAN_MODE_NONE
Change-Id: Ia24d5bba1e35bc4102951adcafc76edda7769d35
CRs-Fixed: 3267506
If DUT only supports one link, it does not set the partner info
in the probe request. But it tries to match the partner info when
it receives the ML probe response no matter the peer supports more
then one link. It causes the matching failure if peer supports two
links.
To resolve this issue, using the DUT's num_partner_links to control
the iteration.
Change-Id: I0e30cf1b566641dfd7eff5678f8d46be99005d51
CRs-Fixed: 3265252
Add support to populate MLO assoc request with EMLSR
subfields like EMLSR padding delay, transition delay that
are extracted from FW during ext service ready event.
Change-Id: Id5def8da6bef92ff6bf2101a7b3e0d8fb0cf3050
CRs-Fixed: 3262939
This reverts Change-Id: Id1f5172a7fc1792c83c8c1c20127de815f7e4980
to avoid deadlock between cnss_pm_notify and unregister_pm_notifier
during soft driver unload.
Change-Id: Ic82db9dc0ca9d6686df99926335af27abc61cdb5
CRs-Fixed: 3266366
The dynamic MAC address update for non-MLO netdev is not
updating the self-peer MAC address which is causing
reference count leak during VDEV destroy.
For non-MLO netdev always update the self-peer MAC address
and for MLO netdev, update self-peer MAC address only
on the link adapter which is associated to MLD adapter.
For non-MLO netdev, send MLD MAC address as NULL in the
request sent to FW set MAC address.
Change-Id: I37a4fdaef0fb8b274769295fd8a920ebd45ffae4
CRs-Fixed: 3265957
Based on new requirement add an INI to enable/disable
get wifi features support.
Change-Id: I45ec54ac781724c2eaffa657f203db3abae2b74e
CRs-Fixed: 3266164
Based on the new requirement, add support to get requested
feature set info from different feature components.
Change-Id: I1bfc097c8ae8c4ab678d4dc07b7932cf3272d851
CRs-Fixed: 3262868
Currently driver creates sysfs features file if fw provides
file name in oem data event, but it tries to free without
any condition, this leeds to an unexpected behaviour if
fw does not provides file name in oem data event.
To address above issue, free wifi features sysfs file only
if fw provides file name in oem data event.
Change-Id: Ida6a69846638ba6edd5d0e5322323ef66433b364
CRs-Fixed: 3266097