In mission mode, add support for virtual add/del monitor
mode interface. In addition to STA vdev, create and maintain
a new vdev for monitor interface.
Change-Id: I91ea8e56976cce92f9b1ae308d4bd0fb30815366
CRs-Fixed: 2818499
Add new ini "monitor_mode_concurrency" to support this feature
and introduce policy manager api's for concurrency checks.
Change-Id: I35ee1fece0a6f9ae8fe340b0598c4a3e20b17e82
CRs-Fixed: 2814523
Currently, FW diag logs, management frames and stats responses are
processed in worker context. Because of this, there is a possible
out of memory scenario when there are huge number of diag events
waiting in work queue.
To address this, process diag events in a separate worker thread and
set the limit for the number of diag events that can be queued in
work queue.
Change-Id: Ib9f7b8042479e8b2f4d67c9a4250932b018f29a4
CRs-Fixed: 2821534
Currently when driver receives CSA, it uses channel number based
api to fill the channel params which does not work for the 6GHz
channels and may give incorrect results, which may result in
unexpected behavior.
To address above issue use frequency based api to set channel
params which gives correct results for all the bands.
Change-Id: I1e94a9fdac8dfae471ec83e9304d33cf154e49e1
CRs-Fixed: 2812548
When sending WMI_VDEV_SET_IE_CMDID, do an intersection between
gChannelBondingMode24GHz and target capabilities for 40 MHz
channel width support and 20 MHz in 40 MHz HE PPDU in HE PHY
capabilities IE.
Change-Id: I9c2b3200f35fa6ffb11e5165cec64a23645241c3
CRs-Fixed: 2738040
This reverts Change-Id: I94adadb0b3314a571f6a16a78285d444c007d9d5
until ABI is updated.
Change-Id: I12a736b1e8650e3e4764f1920431ce04bab09ac9
CRs-Fixed: 2802830
Currently in driver when value is set as QCA_SETBAND_AUTO for
QCA_WLAN_VENDOR_ATTR_SETBAND_MASK attr in QCA_NL80211_VENDOR_SUBCMD_SETBAND
command, it return invalid argument error instead of enabling all supported
bands.
To resolve the above issue add a check for the value QCA_SETBAND_AUTO and
if it is true enable all the supported bands.
Change-Id: I0f4f03b8e2e049cc253822582436fd1fabf65133
CRs-Fixed: 2819677
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