Peer create is called before peer delete which
triggered assert at firmware.
Remove the duplicate peer entry before creating
a new entry for the same peer by serializing
the messages.
Change-Id: Ibf044df5271e9cd2fc3e869bb28d101d3ea9ad43
CRs-Fixed: 1052279
(cherry picked from commit fe914b42b15af00236e3db8e0d6c7d408c5bc4be)
As part of MBO(Multiband Operations), the Assoc IE's including
MBO IE need to be sent to FW as part of Roam Scan Offload command
so that these IE's can be used later in firmware initiated roams
Change-Id: Ia873c65a7813ae63d8e53d7445095990b0c2fed7
CRs-Fixed: 1039969
(cherry picked from commit 0af3520421400b65002604e0a3a9c7c714cc1e21)
qcacld-2.0 to qcacld-3.0 propagation
Currently session id is not initialized for auth retry timer
during roaming which can result in error in lim_deactivate_and_change_timer
during preauth. Fix this by initializing session id for auth retry timer.
Change-Id: Ia7093802c9240c967378de54695a258d80c395de
CRs-Fixed: 1043384
(cherry picked from commit 2095a2a7167cb8ca5fb23aa339639f360709edbb)
(cherry picked from commit 9232eaf4e118445b187252c8b8c80249da16c624)
qcacld-2.0 to qcacld-3.0 propagation
During P2P functionality, Host will send GO NEG REQ and
receives ACK completion from firmware which will be queued
to indicate HDD. Meanwhile if host receives GO-NEG RESP it
will be sent directly to HDD via function callback. In HDD as
we got GO NEG RESP before ACK completion for GO-NEG REQ, HDD
will generate pkt completion for GO NEG Request.
Now GO NEG CONFORMATION frame will be sent and driver will be
expecting completion for this. The GO NEG REQ ACK completion
which got buffered in PE will be delivered to Supplicant and
Supplicant assumes that this is the ACK for GO NEG CONF frame.
This causes early termination of remain on channel due to which
firmware may drop the GO NEG CONF frame and may not retry as ROC
is terminated.
Fix this by making ACK Completion indication to HDD via function
callback.
Git-commit: 32ddf4196f423b8eaea7ec6c0816e2961aa7fc45
Change-Id: I0dd3acb236b270839649d2becfdc007e7aae9fdd
CRs-Fixed: 1012547
(cherry picked from commit a3996d421de7f55d5a6f7da19d7ff4b568ce7c50)
(cherry picked from commit 42405db3bd3f4b10800cde8cdcd14f521461a5a7)
Send HT/VHT CAPs IE to firmware per band. This will allow certain
features like LDPC to be configured per band.
Change-Id: I21c83af984f9be3ade46121ef148b52568c3ad0f
CRs-Fixed: 1055774
(cherry picked from commit 2a94c5666ea0c66477d0086c8d5a401db8e4afcf)
qcacld-2.0 to qcacld-3.0 propagation.
Log success or failure status whether disassoc/deauth sent successfully
over the air.
Change-Id: I527bd35546eb21157498f235fe74710dd3f7688e
CRs-Fixed: 1016866
(cherry picked from commit d081fef10c8440830cea8d6e598087d5021687ae)
qcacld-2.0 to qcacld-3.0 propagation.
Do not re-initialize periodic probe request timer if the calculated
value for "initScheduleTimeInMsecs" from max channel timer is zero.
Change-Id: I7cc03d84088c8c3f2b1e704c2e6c8c24c1a01189
CRs-Fixed: 909143
(cherry picked from commit 0d91c221310d699374b9d4373f7b5cd52ece3ac8)
qcacld-2.0 to qcacld-3.0 propagation
Currently if user space sends two different beacon
interval in AP+AP, driver is not updating correct beacon interval.
Beacon interval should be sent as per session.
Change-Id: I13653701e7ed6fb2eb643bbb8e20e7c0102c2ec2
CRs-Fixed: 1037455
(cherry picked from commit 183b9b33087f5afc925d5899b468450e88b97998)
qcacld-2.0 to qcacld-3.0 propagation
Currently there are no diag events to debug auth, assoc timeouts
and memory failure. Add such diag events which can be useful during
failures.
Change-Id: Iec4c2a9946fbef388959fdc796273944d3be8003
CRs-Fixed: 954888
(cherry picked from commit 96f330d11abe16a35c13a87346e8e60cbd0c7141)
qcacld-2.0 to qcacld-3.0 propagation
When deauth/disassoc is received from peer at the same time when
cleanup in progress because of disconnect from supplicant, there
is a chance that pHashTable can be NULL. Memory pointed by
pHashTable is freed during peDeleteSession, which is called during
cleanup. In dphLookupHashEntry, pHashTable is referenced without
any NULL check, which can lead to crash. Fix this by validating
pHashTable for NULL check.
Add a NULL check in _limProcessOperatingModeActionFrame before
referencing sta context to resolve potential KW issue.
Change-Id: I74d5c739cade19941320ee02eddc09e4fc74b105
CRs-Fixed: 898375
(cherry picked from commit b303090fde8d3a14dbf6f9c80d635e27718a583d)
qcacld-2.0 to qcacld-3.0 propagation
In CCX, BSS description is sent as part of beacon report. If BSS
description has random values, it leads to CCX certification failure.
Fix this by resetting memory allocated with zero. Also, reset memory
allocated to send beacon report to avoid this issue.
Change-Id: I445942b64ca9f382f8d24ca19665d6bda2341a80
CRs-Fixed: 931441
(cherry picked from commit c7a96bbd498d6d096f1dcade7fce0f6c1732248e)
qcacld-2.0 to qcacld-3.0 propagation.
While processing GET_STAWPAIE, based on interface, driver calls
WLANSap_getstationIE_information()/csrRoamGetWpaRsnReqIE() to
get WPA-RSN IE data. For suppose WPA-RSN IE length is greter than
DOT11F_IE_RSN_MAX_LEN(114), then these functions returns failure
by updating only data length. But as calling functions are not
checking return value, driver updates kernel buffer with invalid
data.
Add check to validate WLANSap_getstationIE_information() and
csrRoamGetWpaRsnReqIE() return value.
Also update DOT11F_IE_RSN_MAX_LEN to 255 from 114 and update
IOCTL numbers.
Change-Id: If021318e526c1b1a5616f9447be11174aa4c6a34
CRs-Fixed: 1000857
(cherry picked from commit cc0e12838a8d5ca3fe509bb152b73caeb478744c)
Handle protected dual of public action frame in lim_process_action_frame.
GAS comeback request/response frames will be converted into protected dual of
public action frame on encryption. These frames should be passed to userspace
for further processing.
Change-Id: I25e7f06369cdd238a561ddb5a825a63fe35f7b17
CRs-Fixed: 1063665
(cherry picked from commit 7745335fbdebcd81b274c703e5a080d61dd86428)
qcacld-2.0 to qcacld-3.0 propagation
Some MTRACE logs returns 'unknown code' instead of code and data passed
to MTRACE. To resolve this unknown code issues in MTRACE logs,
add any missing MTRACE code enums in corresponding trace functions.
Both mac_trace_msg_tx() and mac_trace_msg_rx() were not handling
eWniMsgTypes enums, we don't have module Id for SME to handle
in those functions itself. So, modified mac_trace_msg_tx() to mac_trace().
Change-Id: Ia994c971178e24843f652b67336afeaec5e949ab
CRs-Fixed: 871983
(cherry picked from commit 5e12a6f7a67de546c8567341f35707da61cf00b8)
1) In function wma_update_hdd_cfg update tgt_cfg before calling hdd callback
function.
2) In function hdd_init_nan_data_mode correct check for status returned from
sme_open_session
Change-Id: Ibf86c348f95c6f5589c2089600dbe176b1fda5fe
CRs-Fixed: 962367
(cherry picked from commit c6e52d750fee0675efdbe08d7e6f0c274887cb65)
After completing NDP initiator and response between two NDP peers,
ping failure between the peers is observed due to mismatch in the
broadcast station id set in the driver and the broadcast MAC address
for the NDI. This sta id is eventually used as local id to fetch the
peer associated with the sta id and extract the vdev id from the peer
handler, which was pointing to the incorrect vdev leading to ping
packets drop in the firmware due to incorrect vdev id.
Assign the broadcast id for NDI same as the NDI self
peer's sta id, which will point to the correct vdev id.
Change-Id: I4a4eeae149a4347da236cb768cf41141d9efdaca
CRs-Fixed: 1059527
qcacld-2.0 to qcacld-3.0 propagation
In the scenario where association times out because device has missed
the assoc resp sent by peer, the peer assumes the device to be
connected and thus when device again sends the auth for fresh
connection the peer sends deauth. Thus fresh connection also fails.
To avoid this send deauth after association time out, to cleanup
the session in peer.
Change-Id: I1f7bfbe804da0dc92ce4ece87dc65954b086133c
CRs-Fixed: 987455
qcacld-2.0 to qcacld-3.0 propagation
If base channel is 5 GHz and when we support all 11a and 11g
rates, then there is no need to advertise 11b rates in TDLS setup
request/response frames.
Advertising 11b rates also leading to IOT issues with few third
party devices.
Fix is to ensure that 11b rates are not included if base channel is
5ghz.
Change-Id: I45590a4067194e8929bac225b1a82ec510903539
CRs-Fixed: 955788
qcacld-2.0 to qcacld-3.0 propagation
In the current implementation, DUT doesn't initialize the social
channels 1, 6 and 11 and doesn't support P2P discovery in 5GHz only
mode. So we don't see any AP's on 1, 6 and 11 channels during p2p scan.
Change-Id: I317119bbbc30d44214c11076faceba8101cf835a
CRs-Fixed: 962252
qcacld-2.0 to qcacld-3.0 propagation
Currently, since we are using same member from lim structure for p2p and
TDLS there could be possibilities that session id is overwritten
by p2p which would lead in not sending Tx completion indication from
lim to hdd thus leading to Tx timeout though we have received tx completion
indication from FW.
Fix is to create new session id for TDLS frames transmission
Change-Id: I1f78f24ac01e0b26c92238dbe831af88aa267bd5
CRs-Fixed: 991455
qcacld-2.0 to qcacld-3.0 propagation
HT oper mode is set to overlap legacy mode when a legacy
AP (11a only) comes in vicinity of SAP. HT oper mode should
be reset when legacy AP moves out of vicinity of SAP.
Reset function was not resetting HT oper mode in mac context
which was leading to issue.
Fix resets the operating mode to pure HT operating mode after
legacy AP moves out of vicinity of SAP.
Change-Id: Ie5af79341c60cd42c7030699cd1c165ef323e011
CRs-Fixed: 943414