qcacld-2.0 to qcacld-3.0 propagation
At the time of driver load, sap session is opened as part of
hdd_init_ap_mode but in case of sap restart, sme_open_session
is called from sapFsm.
At the time of opening session, sme_open_session register
wlansap_roam_callback callback for connection status.
If this callback is not registered, HDD will not get connection
status and HDD will start cleanup after SAP connection timeout which
will result in SAP failure.
Need to register wlansap_roam_callback as part of sme_open_session
when session is not created as part of hdd_init_ap_mode.
Change-Id: Ifd2cec5fec432f1dcd2b39c59df1f1c5b13c55d5
CRs-Fixed: 1051097
qcacld-2.0 to qcacld-3.0 propagation
In SAP case there are two situation when driver needs to do vdev restart.
1)Hidden SSID: In case of Hidden ssid, vdev restart happens.
In process of restart first vdev stop happens then vdev restart and
finally VDEV_UP happens.
2)DFS detection on current channel: In this case due to DFS detection
driver need to change the current channel.
To change the channel vdev restart happens.
There can be a race condition when restart is happening as part of
Hidden ssid or switch channel, wma_send_beacon can do vdev up.
Fix this by not calling wmi_unified_vdev_up_send if restart is in progress.
Change-Id: I16c86105748b34b76ed575fc2e69a54cc7bab1c6
CRs-Fixed: 958230
qcacld-2.0 to qcacld-3.0 propagation
Check if the spectrum management, short preamble, immediate block ack
are supported by BSS before sending Reassoc request in roaming and
reset the corresponding capability info bits in Reassoc request if the
respective BSS does not support it
Git-commit: 1424fcbda6a8a71484ead54c059e17069f9895d7
Change-Id: Ied61d9b963b0b8176655fadaa7f1458cb1e830ef
CRs-Fixed: 1002770
qcacld-2.0 to qcacld-3.0 propagation.
TDLS teardown event sent by firmware is not processed whenever
host is in WOW mode which will lead to failure of TDLS
teardown
Fix is to handle this event in WOW mode.
Git-commit: 9cd6b405b3b75ff59febc30b5d8a6374b3f69675
Change-Id: I3649bfdf4381f49483a3ffe2c80d5339b52a3764
CRs-Fixed: 1009456
qcacld-2.0 to qcacld-3.0 propagation
Currently when PE queue is full, timer message gets queued at the
end of PE queue even when timer gets expired in time. This causes
delay in processing timer messages. This delay can be maximum if
timer message is the last message in PE queue. This can take substantial
amount of time to process timer message as timer message will be
processed only after processing of other messages. For instance,
if timer message processing takes substantial amount of time during
scan, it can delay sending max channel timeout and may result in
scan timeout. So, add timer related messages at
the top of PE queue to process those messages immediately.
Change-Id: Iccaf0075c97a7edd2c1de1d168f1a4e7d01381c2
CRs-Fixed: 936179
qcacld-2.0 to qcacld-3.0 propagation
Currently, capabilities su_beam_formee are set during association request
but not in re-association request. This can lead to failure in beamforming
after roaming. Fix this by updating them during roaming as well.
Change-Id: I28e86b93a5114f3b76733effe4428a92cf94b441
CRs-Fixed: 1033328
qcacld-2.0 to qcacld-3.0 propagation
Currently the p2p scan results are not flushed if the p2p
scan is issued for a single channel scan which would result
in a stale entry.
To address this, flush the p2p scan results before issuing
single channel p2p scan.
Change-Id: Iaaee1b4b4147e68e99927ea90082bc6f288a2e72
CRS-Fixed: 855782
Propagation from qcacld-2.0 to qcacld-3.0.
During TDLS session establishment, assume the peer is HT
capable STA. If WMM-QoS is enabled in the DUT, but the TDLS
peer does not have WMM/WME IE in TDLS Setup Request/Response
and has QoS Capability element, then the DUT does not
transmit data with QoS. Thus, the throughput gets decreased.
Fix is to enable QoS for the STA for TDLS session if the peer
is HT/VHT capable or WMM/WME IE is present.
Change-Id: Id74983f41ce5de797202edc501f3904d57535ec6
CRs-Fixed: 1053852
qcacld-2.0 to qcacld-3.0 propagation
DUT is enabling QOS based on fixed capabilities in host which
is leading to issue of sending data frames withou QOS header
even though peers are capable.
Fix is to ensure that QOS will be enabled by interpreting
WMM IE.
Change-Id: I08d12ccfc6f1587f228618f2add4b5a1549df8ad
CRs-Fixed: 955872
qcacld-2.0 to qcacld-3.0 propagation
Currently, the QOS capability of the TDLS link is updated
based on the BSS capability. Thus, if the BSS is not QOS
capable, the TDLS link eventually is not considered as QOS capable.
To address this, update the TDLS link with the data path with the
QOS capability based on the TDLS handshake between the peers.
The information of QOS is obtained to the driver through
the change_station callback from the supplicant and thus
the information is updated to the data path accordingly.
Also, this commit advertises that the station is QOS capable
by default in the TDLS setup request /response handshakes.
Change-Id: I6a36fd77b333e66e8c030f5230b4aaaee6d7a00c
CRs-Fixed: 776081
Propagation from qcacld-2.0 to qcacld-3.0
Add diag event for WOW reason code.
The event EVENT_WLAN_POWERSAVE_WOW will be used to
inform the WOW reason code.
Change-Id: I9273c9e737b97207ce0acee131ab6f3c19cd3e0d
CRs-Fixed: 1037383
qcacld-2.0 to qcacld-3.0 propagation
If SAP receive auth from an already connected STA, it post
eWNI_SME_DISASSOC_IND msg to SME to delete the STA context and
return. STA may try to send auth again as it didnt receive auth
resp.
Now many frames (probe req, auth etc) may get accumulated in PE
message queue and unless PE queue is fully processed SME queue will
not be processed and thus del sta will get delayed. This may again
cause STA to send more auth req and every time MC thread process an
auth req before the sta is deleted, eWNI_SME_DISASSOC_IND msg is
posted in SME message queue.
And if PE keeps on getting auth before the sta is deleted,
SME queue will pile up leading to crash.
To fix this do not trigger del sta if it is already in progress.
Change-Id: Icff3778d35ef7ea646463fe49c4335e260e9e156
CRs-Fixed: 982329
qcacld-2.0 to qcacld-3.0 propagation
If BSS is present in kernel and driver scan cache, supplicant
tries to connect to the BSS multiple time even if the BSS is
unreachable. Due to multiple failures to connect supplicant
disable the network.
To avoid this, remove the BSS from scan cache:
- If connect fails due to BSS unreachable i.e. probe
resp/auth/assoc timeout and scan for ssid failure.
- If disconnect is due to Link lost.
Change-Id: I3263dd02691000d83d4aef61c75b72d78c28f582
CRS-Fixed: 1039104
qcacld-2.0 to qcacld-3.0 propagation..
P2P action frame confirmation can be called from work queue
wma_mgmt_tx_ack_work_handler as well as from MC thread during
remain on channel completion. So it can lead to race condition
where frame confirmation is called twice and driver tries to free
frame buffer twice.
To detect duplicate use PE global lock in P2P action frame
confirmation.
Change-Id: Id193b5a979fad5effa7c6b00d89452ad876ae00e
CRs-Fixed: 1035077
Propagation from qcacld-2.0 to qcacld-3.0
Some of the logs are printing quite often and spamming the kernel logs.
Hence move them to appropriate log levels and remove the useless debug
messages.
Change-Id: If38d7a6a3cf13a5879f6a628d3d7eb4f5156a95b
CRs-Fixed: 1001441
qcacld-2.0 to qcacld-3.0 propagation
Add changes to support VHT transmit power envelope sub element in
channel switch wrapper.
Change-Id: Ieac517ec44238034e1a5539cbe10ebbefb30dd09
CRs-Fixed: 1052716