It uses policy of wlan host to check settings from user space in
msm-5.4, which causes user application failed to trigger cfr vendor
command. This change updates nla policy of cfr and let it compatible
with msm-5.4.
Change-Id: Ia7e9bb1e12b4e4f586abb650fe52a62292b0f11d
CRs-Fixed: 2819321
If IPA RX hit back pressure, FW will reroute RX frames to host
by REO2SW1 ring(reo_destination_indication 2), this might introduce
FISA RX ring mismatch issue.
Bypass FISA if IPA RX packet rerouted to host by
reo_destination_indication 2.
CRs-Fixed: 2820235
Change-Id: Ife8f2168e1942204cfc66a2a135cb93c9a1e9910
When firmware sends wma_csa_offload_handler() event, peer should
switch to new channel and update network type. But only frequency
is getting updated, network type is old.
Add check to update network type based on channel frequency
Change-Id: Icd70823f98cfd528863cfb9ec1c2bf5e78e9912b
CRs-Fixed: 2813847
Currently, In P2P Connection, After SSR P2P CLI is
disconnected but P2P GO is still showing connected
with the P2P CLI in kernel 5.4. Beacause cfg80211_ap_stopped
API does not work for kernel 5.4.
Add the cfg80211_stop_iface API to stop P2P GO after
SSR in kernel 5.4.
Change-Id: I94adadb0b3314a571f6a16a78285d444c007d9d5
CRs-Fixed: 2802830
Problem scenario:
1) Host gets Firmware down indication and stops all timers.
2) While processing association completion, host sends disassoc if
user changed reg domain during association and new channel falls
out of current reg domain.
3) Host fails to send disassoc to fw as WMI is in stop state due to SSR
4) Host doesn't check wmi status for disassoc tx and on failure depends
on disassoc ack timer to complete disassoc cnf.
5) As host stops timers on firmware down indication, disassoc ack timer
doesn't trigger and host fails to complete disassoc cnf action. Which
lead to stuck the vdev state machine at suspend down and peer refs
remains undeleted.
To fix this issue check the status of sending the disassoc, and if the
disassoc failed to send then perform the follow-up actions that are
normally performed upon receipt of the disassoc confirmation.
Change-Id: Ic2b88cfcbcb755a869ee281be4e1e8a9cec8299b
CRs-Fixed: 2816503
Currently, the logs in SAP data Tx path are not rate limited.
If there are any error scenarios in throughput tests, this may endup in
continuous logging of the error messages.
To avoid this rate limit the error logs in SAP data Tx path.
Change-Id: I062b52c90e1e7ed85e74cc774f7817159f98eee6
CRs-Fixed: 2811093
If data stall happens, both LFR3 roaming and NUD may happen,
if LFR3 happens first, updated connected bssid, NUD handler will
add new bssid to blacklist and trigger roaming again by mistake.
Fix: Once roaming succeed, reset NUD status to NUD_NONE to finish
current NUD cycle, but don't zero gw mac addr since roaming does't
update gateway.
Change-Id: I03685ca21348444d929e042f12dc3a837ca51940
CRs-Fixed: 2818785
Vdev is NULL before completion of hdd disconnect process
Use hdd_objmgr_get_vdev() to get vdev reference and then pass it
to ucfg_if_mgr_deliver_event(). After using, release the
reference.
Change-Id: I683851a2b7b4376440637edc70b7fdaf71acfbd0
CRs-Fixed: 2812480
As part of power optimization to club LL and get stats request add
a debug log to indicate when cached get station stats is getting
returned to user space.
Change-Id: Id1f80e1589c1913d0129b435cd2bdbd807800230
CRs-Fixed: 2814701
The UDP qos upgrade is skipped currently if the setting
from userspace is set to best effort. Also with the current
logic the priority of packets at "best effort" gets
downgraded to "background".
Fix the UDP qos upgrade logic to take care of using
the "background" priority value as a trigger to skip
UDP qos upgrade.
Change-Id: I5111a930995ddd71b082db95440ed778f09a3cba
CRs-Fixed: 2816426
Currently, sequence number of the authentication frame is cached
to detect if the same frame is received again. But in SAP case,
it's possible to get authentication frame from two different
clients with the same sequence number. Host driver drops auth
frame from the second station as it is considered as a
duplicate frame. Though the driver drops the frame only if it's
a retry, it's possible to get auth frame from second client with
same sequence number and retry bit set.
Cache the client mac address along with sequence number to
avoid this.
Change-Id: I194adc9e0f90d074aef50340d2cd6c7b138cc9b5
CRs-Fixed: 2815784
Previously, if STA is connected to DFS channel and SAP starts on
Non-DBS HW, then it is forced to start on DFS channel with BW 160 Mhz
irrespective of BW on which STA is connected without CAC.
Even after STA disconnects, SAP remains on DFS channel with BW 160Mhz.
So, scan will be disabled and STA cannot be connected on any channel
other than DFS channel.
If STA is connected on non-DFS channel on 5 GHz and SAP starts, it
will start on non-DFS channel as primary channel with BW 160 Mhz
without CAC. Also, scanning was also allowed when SAP is started with
BW 160 Mhz. This might violate regulatory in case radar comes up while
scanning.
Standalone SAP on DFS channel was not allowed.
To fix this, Force set SCC for non-dbs HW, this way standalone SAP
can come on DFS channel but scan will be disabled in such case and
STA cannot be connected other than DFS channel.
In case STA gets connected to dfs channel in non-dbs HW, then sap
starts only on STA channel with force SCC with BW
MIN(sta_chan_width, CH_WIDTH_80MHZ).
Afterwards, if STA disconnects, restart the AP with BW CH_WIDTH_80MHZ
on safe channel. Scan will be allowed as the DFS master capability is
offloaded to AP with which STA is connected on DFS channel.
Also, if standalone sap starts, then STA connects to DFS channel then
SAP will restart with STA channel frequency and Channel width
MIN(sta_chan_width, 80MHZ).
If standalone SAP starts and then STA connects to non-dfs AP or SAP
starts when STA is already connected to non-DFS AP, then ch_width is
MAX(sta_chan_width, 80MHZ) (5 Ghz) or 20 Mhz (2.4 Ghz).
If STA disconnects during SAP+STA on non-DFS, SAP won't restart unless
the STA was connected on BW 160 Mhz.
Change-Id: I1cebfc79f170c1e4e2710ed747ec804df3d8b441
CRs-Fixed: 2809255
Currently the driver does not have a support to
filter out the 6ghz frequencies from the valid freq
list, and hence there is a high chance of selecting
the 6ghz freq as an operating freq for SAP, which
the legacy clients won't be able to scan.
Fix is to add a support for filtering out the 6ghz
frequencies from the valid freq list.
Change-Id: I3c32b4c8c5b93eae04d49d2d5b6bd4ec9852c2a9
CRs-Fixed: 2808350
In case of STA + SAP/GO, Driver fist disable roaming on all
adapters before bss start and enable roaming after start bss
(SAP/GO) in case of failure/success.
Due to commit I4870c69a0e0ca1e8cad734a591f09e402b7a32fa,
Driver fails to re-enable roaming after failure/success
of SAP/GO process.
Fix is to enable roaming after start bss in case of
failure/success.
Change-Id: Ibe90f0685f41984a5841859ea96834f7760ff9a1
CRs-Fixed: 2811306
A race condition is observed when runtime suspend is aborted
due to pending TX packets but context switch happened and pm_state
did not revert to active state yet. In parallel, WMI_PEER_DELETE
command is queued but not sent as pm_state is still in suspending
state.
To fix this, schedule HTC queue kicker work to resend pending
commands again after dp_runtime_suspend aborts due
to pending TX packets.
Change-Id: I6d2c4140a4635c0aec304f48b15fb2b539ac39ea
CRs-Fixed: 2813657
Currently the adapter features update work is created only
for the STA types of interfaces, since this feature is only
used for STA mode. But this can cause an issue when a SAP
interface is changed to STA runtime, since the workqueue will
not be initialized (since create adapter was of SAP type) but
it will be attempted to be destroyed (since the adapter is of
STA type) during the cleanup of adapter.
The creation/destruction of this workqueue cannot be done
in the start/stop adapter, since the rtnl lock will be held
during this operation and the cancelling of the adapter features
workqueue can cause it to wait on rtnl lock, leading to a
possible scenario of a deadlock.
Hence as a mitigation for this issue, we create the adapter
features update workqueue for all the interfaces and clean it
up for all the interfaces as well.
Change-Id: I598480e9f248f50e46764f7f32b876a8efaeee8d
CRs-Fixed: 2811934
Currently if peer client supports the MCS12 and
MCS13 support in assoc request then also DUT(as SAP)
is not sending the QCN IE in assoc response.
This results into the low Tput as peer client uses
only rates till MCS11.
To fix this issue, send the QCN IE with MCS12 and
MCS13 support in assoc response if peer client
supports it.
CRs-Fixed: 2814863
Change-Id: I17c16705b5a015e1dd22849212a19365ac78acaa
Classify the ICMP request packet and mark it to be
sent to the firmware in the packet control block.
Change-Id: Ic48123864bfc206c0659003b75238cacedb96134
CRs-Fixed: 2813173
Currently for ll stats host fill country information from
mac context which is not updated with latest country information.
To address above issue use correct api to fill country info
for ll stats.
Change-Id: I744b172cf935e44568b9ee902a97275887e45001
CRs-Fixed: 2805196
Disable IPA when second SAP is turned on only if NAPI support
is enabled for IPA path.
Change-Id: Id30714156a959ed940d0480cb0e0d8db467c821f
CRs-Fixed: 2807158
In 2.4 Ghz, if peer is advertising MCS10/11 in 11ax and doesn't
support LDPC coding then STA downgrades to 11ac but if AP doesn't
advetise MCS 10&11 and LDPC bit is not supported, then STA treats
LDPC as optional in 11ax and would not downgrade to 11ac from 11ax.
Change-Id: I80b4c6615469c21020ed8d671c2d9ec94bd600b4
CRs-Fixed: 2810347
Some IOT APs set supported rates to zero in probe response. Host uses
probe response/beacon to update scan cache. Host uses supported rates
from scan cache to update in assoc request.
As the supported rates in probe response are zeros, host doesn't
add supported rate IE in assoc request which leads to association
failure. Hence add BSS basic rates in assoc request if supported
rates in scan cache is not present.
Change-Id: I1eb56f437c39494f386e7c97aac4b4bc56b156c8
CRs-Fixed: 2813072
User reads policy manager connection status information via sysfs
entry. Host adds HW mode dbs capability information in pm_cinfo
by checking HW is dbs capable and present HW state is DBS.
Change-Id: I00d83b49dfae41b17341d3758d8ead42ffd602a8
CRs-Fixed: 2795010
Currently during get_ch_info dot11 mode is fetched from mlme_cfg
and used to calculate phy mode without any band validation which
may cause errorneous behaviour in below cases due to invalid band
and dot11 mode combination:
a.) Band 2g and dot11 mode 11a
b.) Band 5g and dot11 mode 11g
c.) Band 5g and dot11 mode 11g_only
c.) Band 5g and dot11 mode 11b
Fix is to update modes in case mlme_cfg mode and frequency combination
is invalid.
Change-Id: I6390677cb196ebec3695d73cfe1e67086a67a8c0
CRs-Fixed: 2802679
In FISA path number of list elements in head nbuf is not updated,
leading to wrong calculation of dp thread stats and packets are dropped.
Update the number of list elements in head nbuf before flush.
During calculation of outstanding packets to be processed
by dp rx thread take rx flushed packets into consideration.
Change-Id: Id96ceee71e035fdbe17f0da4b662c6f848296fbd
CRs-Fixed: 2811001