Currently, in case of Tx action frame driver start the ROC req based on
the offchannel is set. Due to this, if the TX action freq is same as
current vdev freq then also driver started the ROC req on the same
channel.
Fix is, even offchannel is set, but current vdev freq is same as
that of the channel for the tx frame. Driver will skip the ROC.
Change-Id: I7ab2ade0f01ad5035f7b156ded7eb7af7c826b9e
CRs-Fixed: 3366671
When STA has connected with AP in EHT mode, STA sends 160 MHz
bandwidth to firmware in vdev start command. But during peer
assoc command STA has sent 80 MHz whereas AP has sent 160 MHz
bandwidth.
Due to puncturing AP's sends seg1 in VHT IE as 0 which causes
this issue, as driver supports EHT it can associate with EHT
operating bandwidth.
As part of fix, check EHT IE and if EHT IE supports 160 MHz
then send channel width as 160 MHz only.
Change-Id: Ib1d502401db997ef2567e64c3f8cbad42018e891
CRs-Fixed: 3364333
The stats from FW are not updated into the adapter
which can cause driver sending invalid RSSI and SNR values
to userspace when the target/host doesn't support ML.
Updated to the stats received from FW into the adapter.
Change-Id: I4040d61f91396b094ea4237a22cc8f103c6433af
CRs-Fixed: 3372110
While processing START SAP req, Host calls wlan_sap_get_concurrent_bw
to calculate SAP BW based on the concurrent channel & STA DFS channel.
The below issues are present due to current logic to calculate SAP BW
in this API:
1. In the case of standalone SAP, this API returns SAP bandwidth as
80 MHz always, this results in standalone SAP will never come up in
other BWs.
2. In the case of non-DBS HW, the host is not considering the value of
INI "g_sta_sap_scc_on_dfs_chan", the value is defined by the enum
PM_AP_DFS_MASTER_MODE.
By considering the value of STA DFS channel, HW mode, and INI
g_sta_sap_scc_on_dfs_chan, modify the logic to calculate concurrent
as well as standalone SAP BW in API wlan_sap_get_concurrent_bw.
Change-Id: Id521893feb9b6173efc2704f37dfa59f405655e2
CRs-Fixed: 3363394
STA fails to connect to 11BE AP if dot11mode ini is 11AC.
This is because driver fails to get intersected phy mode
Fix by allow connection for BE AP if VHT IE is present in beacon.
Change-Id: I76966fece5d2ad4b5213e77a6ebd1687b78cd27a
CRs-Fixed: 3364959
Issue1:Compilation fails when CONFIG_FEATURE_WLAN_EXTSCAN
is enabled as the latest kernels(>=5.2) expect
two params(policy and maxattr) as vendor_command_policy
whereas vendor_command_policy is empty for old kernel.
When the macro FEATURE_EXTSCAN_VENDOR_COMMANDS is
replaced, it results in a compilation error as
the comma is missing between vendor_command_policy
and the previous param for latest kernel.
Fix1:Add a comma between vendor_command_policy and
the previous param(.doit) to make it compilable
for newer kernels as well.
Issue2:As part of recent code changes
all occurrences of blacklist/whitelist replaces to
denylist/allowlist in the driver.
which replaced interface structure member in the driver,
without changing actual definition of interface structure,
causes compilation error.
Fix2:Rename to actual structure member names.
Change-Id: I0024de7bf237c13297ed9a088a73a9f5c6a78d17
CRs-Fixed: 3370114
For OSEN connection, there is no RSN IE advertised by the
HS2.0 AP. So the driver marks the auth type as open and
sends peer authorization before EAP, EAPOL and vdev
key installation is completed. This causes the EAPOL 4/4 frame
to be dropped by the firmware and AP sends de-authentication to
the Station.
For OSEN connection, authorize the peer after install key
happens based on the connect_rsp->is_osen_connection flag.
Change-Id: Ie490cc20de4f24f0343dcec0d12a9a4be5a1ab76
CRs-Fixed: 3349792
1. If CSA failed for last CSA in progress, can't stop SAP, SAP stop and
SAP CSA concurrency may lead to assert.
2. When access global var like pm_conc_connection_list, always need add
lock protection.
3. During CSA in progress, NAN CSA don't block current thread, just
return.
4. When SAP CSA completed, need check whether need CSA again for NAN
started during CSA.
Change-Id: I076ecad7395a265bbe83aaf97617a9a8b6c8b41a
CRs-Fixed: 3357265
The wpa_supplicant disables the BTM cap in extcap IE whenever
the MBO AP is not PMF capable, or if the btm_disable conf is set.
In current host driver design, the BTM offload is disabled only for
the MBO+non-PMF case. Therefore, add change to disable the btm offload
config if the BTM CAP is not present in the (re)assoc request as this
is determined based on intersection of peer and self cap.
Change-Id: I2fdc1010bccf5ce23f4ab2177aed6c374f7a510f
CRs-Fixed: 3369096
Fix issue that driver doesn't report puncture cap to kernel and hostapd for
undefined MACRO.
Enable a new build flag CFG80211_RU_PUNCTURE_SUPPORT when kernel code
contains nl80211_put_ru_punct_supp_bw.
Change-Id: Ib375c248065b4899f2d336155b1f71a5359e6fb7
CRs-Fixed: 3356751
Currently vdev reference is not released if attribute of vendor
command QCA_NL80211_VENDOR_SUBCMD_SET_MONITOR_MODE is invalid.
Fix this vdev reference leak by releasing the vdev reference in
above error case.
Change-Id: Ib3019dc02b6a3f48fc25f4bbe40e8de9f311a4c6
CRs-Fixed: 3344228
Driver receive NL80211_CMD_START_AP to get fixed freq, width and
puncture_bitmap from EHT IE, disable punctured 20M sub channels in
regulatory component to compatible with dynamic puncture for DFS,
and send to F/W by vdev start wmi cmd, update eht op in beacon template,
Update chan width and centre freq in legacy he/vht op after remove
punctured 20M sub channels in beacon template.
Fix issue that driver can't get correct eht op IE from IE parameter of
start AP for wrong eht op max length is used.
change-Id: I085ae9d9cb4d7c65ca3a9901362903e7d5140779
CRs-Fixed: 3356750
If while roaming from 2.4 GHz to 5 GHz band with SAE
encryption, rates shouldn't be filled from the current
session/AP as this may lead to incorrectly filling rates
for instance this may lead to incorrectly filling CCk rates
for SAE Pre-Auth while roaming from 2.4 GHz to 5 GHz. As
even though with roaming offloaded, sae pre_auth due to
crypto limitations of fw has to be triggered by the driver.
Change-Id: I2293563db047e10ec8a2ade9f3b2a602cf3e3edf
CRs-Fixed: 3336853
Currently host sends many ap keep alive timeout,
mgmt_tx_rate separately to firmware.
Combine these multiple vdev set params,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: I362770b367588220fc35508e4411635e35b3a548
CRs-Fixed: 3333872
Currently host sends many ap keep alive timeout vdev
set params separately to firmware.
Combine these multiple vdev set params,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: I82276e1f0761629489c38c5b7a64e7f0c35e82ce
CRs-Fixed: 3333784
Currently host sends two he_range_ext vdev set
params separately to firmware.
Combine two he_range_ext vdev set params,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: I6b83b37eb73aa3c1946c8463a335d404aa373c2f
CRs-Fixed: 3333780
Currently host sends two tx power limit pdev set params
separately to firmware.
Combine the two tx power limit pdevset params and also
bmiss cnt vdev set params,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params.
Change-Id: I3a232b57677ad604a25d71e9ff3069814a2c338c
CRs-Fixed: 3333774
Currently wma_process_rate_update_indicate sends
two vdev set params separately to firmware.
Combine two vdev set params of
wma_process_rate_update_indicate,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: Icc50569bcc851c5ee269558b80a560b03e1fdcee
CRs-Fixed: 3333758
Currently host sends two ndp inactivity timeout
params to firmware one after the other.
Combine these two ndp inactivity timeout vdev
set params and send to WMI to reduce number of
transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: Icaeca85f2aa074f04d268b819fe86f4b7879c25b
CRs-Fixed: 3333749
Currently host sends many pdev/vdev set param
commands separately to firmware from hdd.
Combine multiple pdev/vdev set params and
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: Ib76f5bd5f582a2c67486f6773ff6fd486b3d84cf
CRs-Fixed: 3333732
Currently host sends tx chain mask and rx chain mask
pdev set params separately to firmware.
Combine these tx_rx chain mask pdev set params,send to WMI
to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: I6bd27b4bc99cbe44e6bdca2a8d55050a49719673
CRs-Fixed: 3333635
While scheduler thread init and enable RSO after MLO connected,
wpa_supplicant deinit RSO for MLO disconnect.
At last, RSO is enabled on host, RSO is deinited on F/W side,
no event for RSO stop cmd, vdev0 disconnect not finished for
cm_disconnect_continue_after_rso_stop isn't called.
To fix it, hold cm_rso_lock in cm_roam_state_change to make sure RSO
operation atomic. RSO operation of one thread not preemptied by RSO
operation of another thread. RSO init and enable process of connect thread
isn't preemptied by RSO deinit of another thread, no host F/W RSO out of
sync issue will happen.
Remove ucfg_user_space_enable_disable_rso from hdd_init_station_mode since
cm_rso_lock is held before created.
Change-Id: I3010895d26a622c2a14960847089a63736598b7c
CRs-Fixed: 3365417
The kernel-doc script identified a multitude of documentation issues
in components/tdls, so fix them.
Change-Id: I365496d70e903bae1abad7b807687904f7f15af7
CRs-Fixed: 3360666
Pass the akm explicitly in the external auth
request to the userspace since there are many
SAE AKM suites.
Change-Id: Ifef8657f7ef75b402aa670813eba6adc5ab9853a
CRs-Fixed: 3355395
The kernel-doc script identified a few documentation issues in
components/dsc, so fix them.
Change-Id: I5e2f4464abb7c94ec567c864c573d314d319ea37
CRs-Fixed: 3356932
Sometimes the RX MCS index obtained from RX MSDU END is an
invalid value. From SW's perspective, the invalid value should
be disposed of. This change will handle the invalid MCS index.
Change-Id: Iba35889fa4c5ed0d0bbea4a38b5375c1197cdd37
CRs-Fixed: 3368064
Add debug log to check the issue about: scan done event
is dropped when it sends to kernel.
Change-Id: I6b06b8bb6ef809eb4399b352d048d703bebdab5d
CRs-Fixed: 3364789