In preassoc state, if the set link state has failed to create the
peer, then send back a failure status to the upper layers and
ensure that the set link state for failure is not called again
because this will eventually call vdev stop and lead to a vdev
stop response and then lead to a peer delete attempt which is
really not needed since the peer has not been created at all.
Change-Id: I265726000204bab51c429a2d00cdd599d8064170
CRs-Fixed: 2286684
When a station connected to one of the sap interface reassociates
to the other sap interface, the driver triggers internal
disconnect for that station with disassocTrigger =
eLIM_DUPLICATE_ENTRY. Once this station is deleted from firmware
we send add sta for the station lim_send_sme_disassoc_ntf on the
sap interface to which the station is to be connected. But the
first SAP interface doesn't send eWNI_SME_DISCONNECT_DONE_IND to
remove eSmeCommandWmStatusChange.
send eWNI_SME_DISCONNECT_DONE_IND from lim_send_sme_disassoc_ntf
in case eLIM_DUPLICATE_ENTRY.
Change-Id: Ibc3cc8121928fe83cc1d8cf3e98419bf5f7f7d1c
CRs-Fixed: 2286783
hdd_parse_disable_chan_cmd() misleadingly indents code after a for loop
without brackets in such a way that it is easy to assume the code is
inside the for loop, but it is not. Not only does this cause build
failure for some configurations, but is dangerously confusing for future
readers. Remove the misleading indentation in
hdd_parse_disable_chan_cmd().
Change-Id: I4af2bd4b05719354db730ef39a3b6ec18d6f842b
CRs-Fixed: 2290196
The scan_id_counter in the WMA context is initialized but never
incremented or read. Since it is not actually used, remove it.
Change-Id: Id159ba6ff36ae2a3977978f8799cf16aeee5300d
CRs-Fixed: 2294150
The driver_type field in the WMA context is written but never
read. Since it is not actually used, remove it.
Change-Id: I646fea6fc5f08bf090980de755055b58f6fec0cd
CRs-Fixed: 2294149
Change "qcacmn: Remove struct extended_caps" (Change-Id
I96fd072b7d6b58a9c237165fcba7ed8c8da0eae3) in the
qca-wifi-host-cmn project removed the only reference to
struct hw_mode_idx_to_mac_cap_idx. Since this struct is
now obsolete, remove it.
Change-Id: I1b57c09d18ec52574e34487122fe526b10b9f51f
CRs-Fixed: 2294148
If wait for key is set during close session, the request is dropped
in CSR and thus during SSR the BSS peer and SELF peer are not
deleted resulting in peer leakage.
Fix this by resetting wait for key before sending close session.
Change-Id: I139640ad5ad473372bce24413f7ace1cef32fbc3
CRs-Fixed: 2294417
Update driver to use NAN config params based converged CFG
component. Cleanup hdd config references to nan ini params.
Change-Id: I5af85d68ee53ad557e64523f7a1719e328536926
CRs-fixed: 2290360
The command e_sme_delete_sta_session command is serialized and
is not removed from the active command list in the response path
at csr_process_del_sta_session_rsp().
Remove the command e_sme_delete_sta_session from active command
list in csr_process_del_sta_session_rsp
Change-Id: Iff36460055bd73705575110d88c3eb75c8052afa
CRs-Fixed: 2292607
When PEER sends auth mgmt frame to DUT and if DUT doesn't ACK
back, PEER sends auth frame again and again till it gets ACK or
timeout occurs.
It has been observed that in busy environment, PEER ends up sending
same AUTH frame almost 100+ times within 20ms apart due to ACK lost.
in such scenario DUT gets busy processing AUTH frames from PE queue
and other low priority queues suffer from starvation.
to fix the situation, drop duplicate auth frames by checking retry
field and sequence number.
CRs-Fixed: 2290133
Change-Id: I1b545dab4d416facc24c3762b86cd1e73981de5c
Remove set_antenna_mode_cmpl variable from hdd_ctx structure
as it is not using anywhere.
Change-Id: Ifc3395f944b10da9537815a94c5484312190141a
CRs-Fixed: 2289642
Duplicate stats buffer in the callback so that all
allocations get freed by its owner, this will avoid
memory leak issue because of race condition between
umac and upper layer.
Change-Id: Id18d75eb9adc46a6147634eb5b1e0babe32c7c37
CRs-Fixed: 2292038
Add support for new 1x1 connect with 1 Tx/Rx Chain action OUI to be
parsed and sent to the FW. From host during connection, the behaviour
is same as existing connect 1x1 action OUI where nss is sent to 1 to
the FW, but the FW takes the decision to use only one Tx/Rx chain
based on the OUIs defined in the new action ID.
Change-Id: Ia464209043dc73bcc71577c43b28fbe13e780c23
CRs-Fixed: 2264326
When modem shutdown is triggered and HOST driver is in the
middle of a connection attempt, it doesn't check if the fw target
is ready. Instead the driver tries to join multiple AP with same
ssid and for each connection it tries to send peer add as part
of wma_set_link_state.
Add check to see if FW is down in wma_create_peer. Return
failure to LIM instead of sending add peer to firmware.
Change-Id: I4642c844bcc1d7f32888b0f89db5c11ee84c41fe
CRs-Fixed: 2267967
SAP stop is in progress when FW down event is received
from platform driver. Vdev_stop command is not sent to
firmware due to target ready check but same check is not
present for self peer_delete command. This results in
assert in firmware since vdev_stop command is not received
before self peer_delete command.
Fix is to set wmi_stopinprogress as part of wma shutdown
notifier callback.
Change-Id: I91fa6aaffe4f35b446a3c8748f168e83620bf4b0
CRs-Fixed: 2266786
Currently if the target is not ready the WMA VDEV requests are not
sent to the FW. In SAP case where the target is not ready and the
VDEV Stop request has not been sent to the FW, when VDEV detach is
done after VDEV stop, since there is no VDEV stop request previously,
bug_on is triggered.
Send del_self_sta_resp to LIM with success status if target is not
ready.
Change-Id: I2e1d469b2beb05dd8fbb7b07976c65c0c7409d99
CRs-Fixed: 2252602
Currently if the FW sends a Roam Start while the host is handling the
CSA Offload event and triggering a vdev_restart, the FW asserts
when the it receives the vdev_restart as it has already started the
Roam.
Disable roaming by sending RSO Stop when the CSA offload event is
received from the FW and restart RSO when channel switch is complete.
Change-ID: I33e9ce6307bc36994eb5f4a99434cb76ce5d3184
CRs-Fixed: 2289047
Change random scan mac_addr and mac_addr_mask attributes
to be optional similar to the standard NL80211 scan trigger interface.
When these attributes are not present, configure default values in
such a way that the random addresses generated are not multicast
but locally administered.
Change-Id: I81acfe05d7f08d1b8f77179816da9df05f2eb233
CRs-Fixed: 2280250
Before STA connection starts, privacy settings are imposed to
HDD layer and then checked against concurrency settings. But
when the check for privacy/concurrency fails, the previously
populated privacy settings are not cleared because the CSR
roaming state machine doesn't goto privacy setting clearing
stage under such circumstances.
Add API to clear the privacy settings in HDD layer when
privacy checking against concurrency fails, so that old
privacy settings will not interfere with new settings when
connection starts next time.
Change-Id: Ic8eb28def3839195301e9bbb358f876dc3d46642
CRs-Fixed: 2274858
When STA role is coexisting with other sessions(P2P, SAP or IBSS),
WAPI encryption mode is not allowed.
Add a new API to check if the connection/start request should
be rejected when:
1) A STA with WAPI encryption is to be connected while there
is at least one concurrent session already running.
2) A new session is to be started while there is already a STA
connection with WAPI encryption enabled.
Change-Id: Id3cc90a63a1b502a3a0783ebbc1af33f96620559
CRs-Fixed: 2271280
When STA is already up on some 2.4Ghz channel and SAP needs to be started
on some 5Ghz channel through ACS, scan channel list contains only 5Ghz
channels. But scan results contains beacons on STA 2.4Ghz channel as well
which is getting parsed contributing to bsscount and rssi on that 2.4Ghz
channel which should not be the scenario as bsscount should be 0 and rssi
should be -100 on this 2.4Ghz channel as it is not present in the scan
channel list sent by HOST to fw.
Give max weight to those channles in the sap_compute_weight
but take the effect of those channels on the channels
present in the ACS scan list.
Change-Id: I51d14aa1bb9b280c6c4d9d0085de86cc7339a4f5
CRs-Fixed: 2290744
Make the following updates to the extscan start BSSID hotlist logic:
1) Exclusively use the Unified WMI data structures.
2) Use the new wmi_unified_extscan_start_hotlist_monitor_cmd() API.
3) Update the HDD<=>SME interface to enforce the contract that SME
must not make any assumptions about the buffers provided by HDD.
Change-Id: I4d9f982177bc61a751ba0e7437fe55482dfd2723
CRs-Fixed: 2291946
wma.h contains a large number of obsolete macros and data structures
which are unused, so remove them.
Change-Id: Ideb5e64b5486c3ea652777b27cbb5d1960b154d5
CRs-Fixed: 2292529
In __hdd_hard_start_xmit, Null-checking for skb under drop_pkt
suggests that it may be null, but it has already been dereferenced
on all paths.
Remove this Null-check for skb under drop_pkt as skb cannot be NULL.
Change-Id: I6c8e816652951a95cff26b26c48b8f39a096b095
CRs-Fixed: 2259256
APPS watchdog bark timeout happens due to continuous excessive
logging of "Not able to allocate context" in ol_txrx_offld_flush
and in ol_rx_data_process. Remove these extra logs.
Change-Id: Idf96ca584d77c68ad771a150604d1b9ca65ba3eb
CRs-Fixed: 2289492
Add a conditional compilation QCA6390_HEADERS_DEF flag to compile
htt_rx_restitch_mpdu_from_msdus.
Change-Id: I6b526f2dd5d56338e520ec138512b7cf2d849d0c
CRs-Fixed: 2275699
FW assert is observed when HTT_WDI_IPA_OPCODE_TX_SUSPEND is sent twice
in a row. Issue is that CLIENT_DISCONNECT and AP_DISCONNECT could both
trigger IPA deactivation when CLIENT_DISCONNECT is poped from pending
queue and in another thread AP_DISCONNECT event arrives.
Fix is to add check for resource_unloading flag and if resource_unloading
is set to true, IPA deactivation is ignored since deactivation is already
undergoing.
Change-Id: I68a245809e263ce396b910c4cc3d4e6b071812c0
CRs-Fixed: 2288941
The error logs in hdd_validate_adapter are mostly useless without
knowing where it was called from. To avoid adding additional logs at all
of the call sites, log the caller information from hdd_validate_adapter
itself.
Change-Id: If953412c8435069c0ab87649fbf54130eb81cd09
CRs-Fixed: 2292705
Nearly all the callers of wlan_hdd_validate_session_id() log largely the
same message. Such copy-pasted code has poor maintainability. Instead,
internalize these failure logs into the function itself, which allows us
to control the logs driver-wide much more easily.
Change-Id: Ib7bfa8020492a5cb1df2283f99b827095dfb7578
CRs-Fixed: 2292702
After insmod wlan.ko, don't ifconfig wlan0 up, driver will be in
DRIVER_MODULES_OPENED instead of DRIVER_MODULES_ENABLED state.
If host suspend at this time, PCIE will suspend too, when resume,
PCIE bus driver may reset ROME soc during link reconnection, copy
engine is reset too.
When host send wmi cmd to F/W, copy engine will access 0 address,
SMMU fault will happen.
There is logic inside ROME hardware&firmware, if PDEV_SUSPEND or
WOW_ENABLE WMI command is sent to firmware, firmware will decuple
the reset path between ROME pcie interface and ROME soc,
then ROME soc will not be reset if pcie bus driver toggle the
PERST pin to ENDP, only pcie interface part is reset.
Change-Id: I3b6344f69ea70248953af155efd00adf7914e98b
CRs-Fixed: 2243667