Commit Graph

16649 Commits

Author SHA1 Message Date
Abhinav Kumar
fa7afb9c0f qcacld-3.0: Add pmksa based on SSID and cache id
For FILS pmksa cache, the pmksa add/del/query is based on SSID
and cache id.
1. Add SSID/Cache ID to pmksa cache using pmksa API.
2. Set PMK to csr session if PMK is present, PMK will be sent
to FW in RSO command.

Change-Id: I88a3e70a50565300ebab9723b439ee7674788b55
CRs-Fixed: 2621846
2020-02-26 06:41:45 -08:00
Abhinav Kumar
267ed0068e qcacld-3.0: Clear same pmk info while processing del/flush pmk
Clear sae_single_pmk info while processing del/flush pmk command
from supplicant, if required.

Change-Id: Idd974822ef0426461cd9971e54d8244d64b246b5
CRs-Fixed: 2616036
2020-02-26 06:41:25 -08:00
Abhinav Kumar
3868028546 qcacld-3.0: Update PMK info in RSO update command
Requirement is to allow station to just keep the
first PMK1 and PMKID1 which gets derived while first
connection and re-use it for roaming to other AP
which has some specific VSIE.

To support this feature, STA should Set new flag in 11i
params during RSO start/update when initial connection is
completed based on the VSIE in AP beacon/probe response
frame. This flag will allow fw to roam to AP(s) which has
VSIE with single PMK.

Update PMK info in RSO update command with sae_single_pmk
info if roaming is completed with AP(s) contains VSIE.

Change-Id: I6ef7a5581a380b0db323199fbda9407a5e792f4e
CRs-Fixed: 2616031
2020-02-26 06:41:10 -08:00
Abhinav Kumar
8747fd098c qcacld-3.0: Update sae_single_pmk info in RSO start command
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.

To support this feature, STA should Set new flag in 11i
params during RSO start/update when initial connection is
completed based on the VSIE in AP beacon/probe response
frame. This flag will allow fw to roam to AP(s) which has
VSIE with single PMK.

Update PMK info in RSO start command with
sae_single_pmk info if initial connection is completed
with AP contains VSIE.

Change-Id: I839b48da48f92f24444e69405d87560186d7f986
CRs-Fixed: 2616029
2020-02-26 06:40:55 -08:00
Abhinav Kumar
c71e678b18 qcacld-3.0: Add support for sae roaming with single PMK
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.

To support this feature, STA should:
1. Set new flag in 11i params during RSO start/update when
initial connection is completed based on the VSIE in AP
beacon/probe response frame. This flag will allow fw to roam
to AP(s) which has VSIE with single PMK.
2. STA should dynamically enable this feature if below
vendor specific IE on AP’s Beacon or Probe Response at
the first connection:
Category 	Data
Type 		0xDD
Length 		0x05
OUI 		0x00 40 96
Type 		0x03
Data 		Don’t care
		(EX, 0x05)

Maintain a separate pmk information structure to support sae
roaming using single pmk.

Change-Id: I0aac7659cecd4d8aaff86c9715e512cf46f22615
CRs-Fixed: 2616035
2020-02-26 06:40:44 -08:00
nshrivas
1589373241 Release 5.2.0.173
Release 5.2.0.173

Change-Id: Ia2254f0e09304794fae73f7219cee3d6aa20aefb
CRs-Fixed: 774533
2020-02-26 04:53:25 -08:00
Pragaspathi Thilagaraj
77767915dd qcacld-3.0: Fix MBO IE not added in probe requests
Currently the driver doesn't add MBO IE to probe if in the
scan request, req->ie_len is non-zero and req->ie doesn't have
the MBO IE.
Also when connection is triggered from AP2 from AP1 both advertising
different SSID, then there will be a vdev delete followed by
vdev create, and scan request is not received from userspace, then
the unicast probe sent from the driver doesn't have the MBO IE.

Add MBO IE if its not present in the scan request ie.
In roam profile if pAddIEScan is NULL, get IEs from default scan IE.

Change-Id: I574f5cae2158a2d4f0adad6d15b8aba2df1de0a2
CRs-Fixed: 2622871
2020-02-26 04:53:25 -08:00
nshrivas
832507be4d Release 5.2.0.172Z
Release 5.2.0.172Z

Change-Id: Ib481ae34421561bbf614f9fc2b3894f97fe553ea
CRs-Fixed: 774533
2020-02-25 23:32:54 -08:00
wadesong
a0000d5747 qcacld-3.0: Remove an unused local variable
Remove the local variable selfStaDot11Mode from function
lim_process_sta_mlm_add_bss_rsp_ft as it is not used anymore.

Change-Id: I642ed6ef9f61aa5d30882cc5cbd5d356b56a1573
CRs-Fixed: 2626419
2020-02-25 23:32:54 -08:00
nshrivas
5d920cc421 Release 5.2.0.172Y
Release 5.2.0.172Y

Change-Id: I25746e29bfb6bba8175bb5355a257531d9ac5440
CRs-Fixed: 774533
2020-02-25 21:58:03 -08:00
Jia Ding
97b62586f8 qcacld-3.0: Support per AP isolation in WLAN IPA
AP isolation a.k.a intra-bss forwarding is a per AP attribute. Issue in
current IPA implementation is that it does not support per AP control.
In a SAP-SAP configuration, latter SAP configuration will always overwrite
first SAP's isolation configuration.

Fix is to add vdev id parameter from protocol layer so that IPA component
could configure AP isolation on a per AP basis.

Change-Id: I9c96cdcda03eb10b4c2984a757e52d77b5bf6790
CRs-Fixed: 2624757
2020-02-25 21:58:03 -08:00
nshrivas
20302c88c1 Release 5.2.0.172X
Release 5.2.0.172X

Change-Id: Ia5405513a828515fa027552a840de546226a695f
CRs-Fixed: 774533
2020-02-25 20:25:25 -08:00
Abhishek Ambure
ef4725cfe4 qcacld-3.0: Add check for STA disconnect in pe disconnect cb
In PE layer, STA session's mlme state check is added to avoid race
between NB disconnect and SB disconnect from emergency roaming disconnect.

In pe_disconnect_cb, if session's mlme state is already disconnecting no
need to send tear down link with AP.

Change-Id: I096b44167d65aa307e6685f07d42656d4e38a042
CRs-Fixed: 2627760
2020-02-25 20:25:25 -08:00
nshrivas
214f9965ae Release 5.2.0.172W
Release 5.2.0.172W

Change-Id: I41f2d9df0de01f6ec04c165b1e277f3f5d126ee4
CRs-Fixed: 774533
2020-02-25 18:47:13 -08:00
Kiran Kumar Lokere
0e6e858aa9 qcacld-3.0: Correct the SAP event in channel switch response
In channel switch response start bss success event is used to
indicate the success in which the initial bss settings are done
that is leading to set the incorrect keys after the channel switch.
Use the channel change event to indicate channel switch success.

Change-Id: I0915ee78a97e5f27ce83c31cc673cb8820ae535b
CRs-Fixed: 2620809
2020-02-25 18:47:13 -08:00
Karthik Kantamneni
47bb8d7be8 qcacld-3.0: Fix completion timeout value in hdd vdev destroy
In this change Ia6fe504e2a2d01f12c3d3446fffc2fc397566966 qdf event
is replaced with linux completion timeout API.
But linux completion API accepts timeout argument in jiffies,
resulting timeout to set high value of 130 seconds greater
than DSC module timeout 60 seconds. In some cases vdev destroy timer
is taking more time than DSC timeout resulting DSC module to
assert host crash.

Fix is to convert timeout value from mill seconds to jiffies in
completion handler and set proper value of 13 seconds.

Change-Id: I9cfdcec02895747a883c00f6e2889d4f5ec3d7f2
2020-02-25 18:46:56 -08:00
nshrivas
5efaca09da Release 5.2.0.172V
Release 5.2.0.172V

Change-Id: Ifd7abe5113c435e854f2bf54acee49970a9211f2
CRs-Fixed: 774533
2020-02-25 10:58:14 -08:00
nshrivas
6f5b836785 Release 5.2.0.172U
Release 5.2.0.172U

Change-Id: Ic7b90bff52eb4f447e0d6c2c5d0fd35b4bee8ac6
CRs-Fixed: 774533
2020-02-25 03:01:05 -08:00
Abhinav Kumar
86afc8fbc4 qcacld-3.0: Optimize logs after connect complete
Optimize logs after connect complete i.e roam offload params
and tdls state etc.

Change-Id: I5df7eb236ef1c7369f4d996c4f0eda7225652f12
CRs-Fixed: 2627694
2020-02-25 03:00:49 -08:00
nshrivas
ffe7808a10 Release 5.2.0.172T
Release 5.2.0.172T

Change-Id: Ic687e5b4db11e93a780e224170a1c835895bff48
CRs-Fixed: 774533
2020-02-25 01:16:10 -08:00
Ashish Kumar Dhanotiya
fd621e86a0 qcacld-3.0: Query sta stats on disconnect in case of SAP
Currently for big data logging in case of sap, query for
rssi, txrate and rxrate happens when station issues disconnect
to SAP but these stats are not queried when SAP
issues disconnect to the connected station.

To address above issue, add a logic to issue stats request
to FW when SAP disconnects the connected station.

Change-Id: I40db82d7b57fd0894ffbe95f52d27b4931227690
CRs-Fixed: 2626857
2020-02-25 01:16:09 -08:00
nshrivas
53d6fadd9d Release 5.2.0.172S
Release 5.2.0.172S

Change-Id: I3026566db95f68100f1e788acb25e70af8335311
CRs-Fixed: 774533
2020-02-24 23:36:31 -08:00
gaurank kathpalia
c9f0a7e533 qcacld-3.0: Use objmgr peer to check if peer already exist
Use obj manager peer to check if peer already exist, instead
of cdp API.

Change-Id: I87edd33f09b2b7927f99b87acf4202b2a7ac0236
CRs-Fixed: 2627494
2020-02-24 23:36:31 -08:00
nshrivas
8c033d987b Release 5.2.0.172R
Release 5.2.0.172R

Change-Id: I72ab64d75bbc9daf79328ab2011fafcf99d4d8c6
CRs-Fixed: 774533
2020-02-24 06:22:06 -08:00
Pankaj Singh
6c66fc7915 qcacld-3.0: Race condition handling for roam during disconnect
Disconnect cmd received from supplicant, at the same time
roam start event received from FW.This results in
conetxt switch in scheduler thread and leads to disconnection in
progress variable could not set. Roam sync events
SIR_ROAMING_DEREGISTER_STA and SIR_ROAM_SYNCH_PROPAGATION are
received one after another. Here again supplicant thread context
resumes resulting in  csr roam profile cleanup.Later on when
scheuler thread resumes back it result in instability while trying
to access roam profile object.

Fix is to add check for current roam state using mlme component.
check for current state is ROAM_RSO_STOPPED during both
SIR_ROAMING_DEREGISTER_STA and SIR_ROAM_SYNCH_PROPAGATION events.

Change-Id: Id0ea18a33dfef3d4e9a4003da33fc7172cf58e85
CRs-Fixed: 2626474
2020-02-24 06:22:06 -08:00
nshrivas
b7c2985a3b Release 5.2.0.172Q
Release 5.2.0.172Q

Change-Id: Iaacc2ff9b40b6d51ac8415671dc015abc73203a7
CRs-Fixed: 774533
2020-02-24 04:32:26 -08:00
Srinivas Dasari
fc3aea42ea qcacld-3.0: Send assoc request IEs in STA_INFO in SAP mode
Userspace expects the assoc request IEs of a disconnected station
to derive 11kv capabilities. Send the same in STA_INFO as part
of remote station info.

Change-Id: Iab5f39de833cd06e814e83f0149a0d21caf59b9f
CRs-Fixed: 2624922
2020-02-24 04:32:26 -08:00
Srinivas Dasari
77500a4543 qcacld-3.0: Send disconnected AP beacon IEs to userspace in sta_info
Currently beacon IEs of the connected AP are cached in host driver
and flushed when it disconnects. Userspace needs this info after
disconnection to know the capabilities of the last connected AP.
So don't flush the IEs just after disconnection and provide the
same to userspace in GET_STA_INFO when queried. IEs are flushed
in the next connection.

Change-Id: I29c308b01b7519fffa174e26d644e0817e51b6fc
CRs-Fixed: 2624882
2020-02-24 04:32:11 -08:00
Srinivas Dasari
a3516d65a3 qcacld-3.0: Send proper reason code for STA kickout disconnections
Currently, driver send a generic reason code
eSIR_MAC_DISASSOC_DUE_TO_INACTIVITY_REASON to userspace when a
STA kickout happens. Send eSIR_MAC_SA_QUERY_TIMEOUT when STA
kickout happens due to SA query timeout.
Send eSIR_MAC_PEER_XRETRY_FAIL when STA kickout happens due to
XRETRY failure.
Still host sends deauth frame with reason code
eSIR_MAC_DISASSOC_DUE_TO_INACTIVITY_REASON.

Change-Id: I72fa7406ef1b131ef3519bb6bef21cc52bc548cb
CRs-Fixed: 2624948
2020-02-24 04:31:53 -08:00
Srinivas Dasari
c5b88c309f qcacld-3.0: Send last disconnect reason in sta_info to userspace
Driver caches last disconnected reason code in adapter. Convert it
to enum qca_disconnect_reason_codes and send it in STA_INFO to
userspace.

Change-Id: Ifd8566f4fb7d412d9a6ded0ae06f51b0c1dd6d2b
CRs-Fixed: 2624792
2020-02-24 04:31:36 -08:00
nshrivas
509dce90d5 Release 5.2.0.172P
Release 5.2.0.172P

Change-Id: I29ad84735dd53f441a9f8cd7567c19e58684e60b
CRs-Fixed: 774533
2020-02-24 03:06:38 -08:00
Guisen Yang
eebdeb13dd qcacld-3.0: Do not remove pm qos notifier if it's not added
The notifier for pm qos is added when the runtime pm dynamic
is defined, when removing the notifier, we should also check
if the runtime pm dynamic is defined or not. We should not
remove this notifier if it is not defined.

Change-Id: Ic628c6fc38da00b2491355786ff40020d0249bb2
CRs-Fixed: 2622946
2020-02-24 03:06:38 -08:00
nshrivas
30537e2ff9 Release 5.2.0.172O
Release 5.2.0.172O

Change-Id: I8f7aa15f297ac939b2ed04827c5a1f056f6167e0
CRs-Fixed: 774533
2020-02-24 00:20:36 -08:00
Jingxiang Ge
9a4d95c3fd qcacld-3.0: Fix dp_rx_thread hang issue
Issue happens as below scenaio:
1 suspend happens, but dp_rx_thread didn't finish in time,
  so timeout happens for suspend_event, here suspend will
  return success to kernel.
2 resume happens before dp_rx_thread to reset resume_event,
  and resume finished.
3 if dp_rx_thread finished and blocking with resume_event,
  and in following test, suspend didn't come(longer then
  hang detect time).
4 hang detect will alarm.

Fix is to return failure if dp_rx_thread can't be suspend
in time. Suspend can triger again later.

Change-Id: Ifbfdef5bb1c8d6e00b8fa5cc5e6dc74d3495c9ea
CRs-Fixed: 2626468
2020-02-24 00:20:35 -08:00
nshrivas
7439bf85b9 Release 5.2.0.172N
Release 5.2.0.172N

Change-Id: If2e8b6e152934026d37091c34aecabe52dd3df4c
CRs-Fixed: 774533
2020-02-23 14:43:09 -08:00
nshrivas
0a75918299 Release 5.2.0.172M
Release 5.2.0.172M

Change-Id: I2bafce5e6c5ac0684588d193144e068505f22e71
CRs-Fixed: 774533
2020-02-23 13:00:43 -08:00
Abhinav Kumar
9838039beb qcacld-3.0: Update group management cipher suite in RSO command
The host driver updates the group management cipher suite to the
firmware as part of RSO commands over the WMI_AP_PROFILE
command.

Update the group management cipher suite from the crypto
component to the roam_request and copy it to the WMI_AP_PROFILE
command params in wma

Change-Id: I78d9cfbddfb74b16639ff03005935c4112a7e5af
CRs-Fixed: 2622864
2020-02-23 13:00:43 -08:00
nshrivas
9c0556f6fb Release 5.2.0.172L
Release 5.2.0.172L

Change-Id: If49e042602739a33b3615a7296f64e96cfda5a8f
CRs-Fixed: 774533
2020-02-23 08:53:51 -08:00
Alan Chen
bc2dfe86c1 qcacld-3.0: Move hdd_register_notifiers()/hdd_unregister_notifiers() calls
PM QoS notifier is not getting deregistered during module stop and is
racing with module start as a result. Move hdd_register_notifiers()
and hdd_unregister_notifiers() calls to hdd_wlan_start_module() and
hdd_wlan_stop_module() to do proper registration and de-registration.

Change-Id: I4d47393d600c2c162b54e16ecdf06b286f1b93bc
CRs-Fixed: 2626126
2020-02-23 08:53:51 -08:00
Surabhi Vishnoi
bb69422804 qcacld-3.0: Add support to trigger FTM time sync feature
FTM time sync feature is triggered when connection takes place
in case of STA and bss starts in case of SAP. The feature is
stopped when STA disconnects and bss stops.

Change-Id: I963b0134b7432c9827c2fb3d9dce7c81a8666d4d
CRs-Fixed: 2621144
2020-02-23 08:53:35 -08:00
nshrivas
2bd1aa8523 Release 5.2.0.172K
Release 5.2.0.172K

Change-Id: I41b721e12e57b33a530c678adcafa02aa617f81f
CRs-Fixed: 774533
2020-02-23 06:16:50 -08:00
Chaoli Zhou
bf1debc03a qcacld-3.0: Refine ol_txrx_ipa_wdi_tx_smmu_params for different target
Currently, Linux Kernel 4.9 doesn't support WDI3/WDI2 over GSI,
so it missed the definition of is_txr_rn_db_pcie_addr &
is_evt_rn_db_pcie_addr, and we should not call the relevant API
for Linux Kernel 4.9 + ROME target. So refine the function
ol_txrx_ipa_wdi_tx_smmu_params to fix compile issue.

Change-Id: I050d7f8613f9a5ae05d6a269dece53db624d18e2
2020-02-23 06:16:50 -08:00
nshrivas
d9ed8c173e Release 5.2.0.172J
Release 5.2.0.172J

Change-Id: I4564c7193622eda8917b6f85be9eaf272b007c75
CRs-Fixed: 774533
2020-02-21 19:51:01 -08:00
Will Huang
64a2e6f892 qcacld-3.0: Add idle shutdown for hostapd mode stop
Because FW don't support idle pdev suspend, and when all interface down
host will not send wow enable command because wakeup is not expected.
So the idle shutdown precedure is already there to prevent system go to
idle pdev suspend state, but it only exist for station mode now, apply
it to hostapd mode as well.

Change-Id: I1b11b5bd038ea9ad23835f142e443ea11e90f55b
CRs-Fixed: 2624453
2020-02-21 19:51:01 -08:00
nshrivas
f31f06bfa2 Release 5.2.0.172I
Release 5.2.0.172I

Change-Id: Ie02a357113ceeb2259c70c7190431c389c3bbf42
CRs-Fixed: 774533
2020-02-21 04:41:35 -08:00
Abhishek Ambure
4bb3519a42 qcacld-3.0: Add support to get roam scan channels from fw
Firmware advertises WMI_SERVICE_ROAM_SCAN_CHANNEL_LIST_TO_HOST_SUPPORT
at the time of initialization. When user requests for roam scan channels
to driver using GETROAMSCANCHANNELS command, driver queries firmware for
roam scan channel list by sending wmi command with command id
WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID and vdev id.
Firmware response to WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID commmad is
WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID. This event has roam scan channel
list, vdev id, connected BSSID, command_response.

Firmware issues WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID event for two reasons,
one for GETROAMSCANCHANNELS command where firmware sets command_response=1
in wmi event and asynchronous event upon disconnection where firmware sets
command_response=0 in wmi event.

Change-Id: I690aca6c3f1e3aa7ae1fe54aadc839ea19446079
CRs-Fixed: 2621535
2020-02-21 04:41:35 -08:00
nshrivas
cacfe725a6 Release 5.2.0.172H
Release 5.2.0.172H

Change-Id: I6f70a51f299226ad16a0aacab6d1386f6e81e4c6
CRs-Fixed: 774533
2020-02-21 03:13:38 -08:00
nshrivas
3ca2a813e8 Release 5.2.0.172G
Release 5.2.0.172G

Change-Id: I95232c502c6abe32bd59f2845713c6e75ab07a68
CRs-Fixed: 774533
2020-02-21 01:44:59 -08:00
Surabhi Vishnoi
492308b08f qcacld-3.0: Add ini for FTM time sync component
Add ini config required for FTM time sync feature.

"enable_time_sync_ftm"- ini to enable/disable the feature.

"time_sync_ftm_mode" - ini to configure the burst/aggregated mode.
In burst mode the offset derived for each RTT frame is sent by
firmware, in aggregated mode only one offset is sent by firmware.

"time_sync_ftm_role" - ini to configure slave(STA)/master(SAP) role.

Change-Id: I6a06d6fdc4c7556c32ab2d28f1cbaa936b98a85b
CRs-Fixed: 2618654
2020-02-21 01:44:59 -08:00
nshrivas
639c7cc44a Release 5.2.0.172F
Release 5.2.0.172F

Change-Id: I686af02de2b1c0c4458133b372382580f640d095
CRs-Fixed: 774533
2020-02-20 21:35:41 -08:00