Commit Graph

20175 Commits

Author SHA1 Message Date
Srinivas Dasari
7586ee3a5e qcacld-3.0: Send NAN disable indication to userspace upon SSR
Currently, host driver sends NAN disable request to firmware and
firmware sends NAN disable indication as a response. Host driver
forwards this indication to framework. But when SSR happens,
driver needs to send this NAN disable indication to framework
as firmware lost the NAN context. This allows framework to
initiate NAN again. Send the NAN disable indication with success
status code to framework after recovery.

Change-Id: Ic2139e159f0c1d9c1fb5c39597ce18e0787e809b
CRs-Fixed: 2735047
2020-07-22 11:55:24 -07:00
Yeshwanth Sriram Guntuka
e0fe1711e5 qcacld-3.0: Register STA tx completion cb to update stats
Register STA tx completion callback with dp as part of
vdev registration to update successful ack stats.

Change-Id: I27f36336f0e37d43cc2cdff204c0217667a48b13
CRs-Fixed: 2682020
2020-07-22 11:55:20 -07:00
Yeshwanth Sriram Guntuka
621395dfc7 qcacld-3.0: Send flag as part of tx complete notification
Add support to send tx status flag as part of notify tx
completion.

Change-Id: Ifcfbc6d5e43fc1e7723cd3e2e20e07c2d198a7f9
CRs-Fixed: 2724843
2020-07-22 11:55:16 -07:00
snandini
77d61d4be6 Release 5.2.0.194X
Release 5.2.0.194X

Change-Id: I4559d630f55f6c377da6ea845ff6bb6eb046ffe4
CRs-Fixed: 774533
2020-07-22 07:45:07 -07:00
Abhishek Ambure
271ca1d079 qcacld-3.0: Don't set mon iface chan if iface is down during SSR
After SSR host reinits and as a part of start all adapters host
starts monitor mode and sets the channel. To set the channel for
monitor mode, host send vdev start command to fw, at the same time
host checks for interfaces down during SSR. If the monitor mode is
down during SSR, host stops monitor mode adapter and sends vdev
delete command to fw. As a result, fw doesn't respond to vdev start
command and host receives only vdev delete response. Thus vdev
response timer timeout and host triggers self recovery.
Hence do not set monitor mode channel if monitor interfaces is down
during SSR.

Change-Id: Ia381de3e0797e597158f028d7bded5fc33019150
CRs-Fixed: 2733706
2020-07-22 07:45:06 -07:00
snandini
e304a9d7ff Release 5.2.0.194W
Release 5.2.0.194W

Change-Id: I41995f27c0d609742af510613c58726dc045d43a
CRs-Fixed: 774533
2020-07-22 05:33:21 -07:00
Sachin Ahuja
e9b335d67b qcacld-3.0: Avoid crash when psoc trans is rejected
Crash is seen when the mode change and shutdown happens in
parallel. Mode change is the driver trans and shutdown is a
psoc trans. If mode change is going on and shutdown req comes
then shutddown trans is rejected. Currently driver crashes
whenever psoc trans is rejected.

Avoid BUG_ON when the psoc trans is rejected.

CRs-Fixed: 2732103
Change-Id: Iad1ab4f188702ed581e3b41c1cdef1c495015048
2020-07-22 05:33:21 -07:00
Amruta Kulkarni
9b00b5d67e qcacld-3.0: Associate to 5ghz AP in HE mode
5ghz AP broadcasts beacon frame with no HT caps but
VHT and HE caps are present.STA should connect to AP
in HE mode, but STA connects in 11a mode.Fix is to
check if AP supports HE connect in 11ax mode.

Change-Id: Id9e4f620e395d4ca2617af190b677003d1f9e4cf
CRs-Fixed: 2724747
2020-07-22 05:33:18 -07:00
Abhishek Ambure
6f71dff9a9 qcacld-3.0: Handle disconnect request for SA Query timeout
FW sends a disconnect request to HOST while roaming failure
through event WMI_VDEV_DISCONNECT_EVENTID per vdev id. For disconnect
reason SA query timeout in WMI_VDEV_DISCONNECT_EVENTID, add support
to handle disconnect request from FW.

Change-Id: If911b18476d021bfe62eb10b4db3c2eec2a37743
CRs-Fixed: 2736242
2020-07-22 05:33:14 -07:00
wadesong
4d1b659512 qcacld-3.0: Override phy mode in sap roaming profile
Wlan phy mode in sap roaming profile will become invalid when
the following corner case happens:

  1) sta starts in 5G channel x;
  2) sap starts in 5G channel y, leading to mcc;
  3) sap moves to 2.4G band on the other mac;

In the above case, sap channel frequency will be set to 2.4G,
but the phy mode in its roaming profile will not change.

Override the sap phy mode in its roaming profile so it aligns
with channel frequency again.

Change-Id: I0b243c1d312f77bf4a4d782f6b9d0d75928d0277
CRs-Fixed: 2736429
2020-07-22 05:33:10 -07:00
snandini
1bcf933b1c Release 5.2.0.194V
Release 5.2.0.194V

Change-Id: I3835196951adf336c1b9a80fc968148b09d3ee4c
CRs-Fixed: 774533
2020-07-22 03:21:27 -07:00
Ashish Kumar Dhanotiya
b64f4c342a qcacld-3.0: Prevent stainfo against double detach
Currently there is no way to know if an stainfo is
already detached and driver can detach stainfo
again which may lead to put sta ref count twice in
some race condition.

In current scenario SAP receives the deauth from station,
disconnects the station and puts the sta reference taken
against station attach.
In parallel to the deauth from station if SAP gets the
disconnect from user space, it gets the sta reference
and moves ahead with the disconnect process, in this
process again does detach and does the put sta ref
taken as part of the sta attach, in this way it puts the
sta info twice.

To address above issue add logic to check if stainfo is
already detached or not, if sta info is not already
detached, detach the sta info and do the put ref.

Change-Id: I00c75c4d850931fb2a347d740002c21fae50785a
CRs-Fixed: 2735151
2020-07-22 03:21:27 -07:00
snandini
15fa577edf Release 5.2.0.194U
Release 5.2.0.194U

Change-Id: Iace26e6ec1c5201b82039bb1a3d1591bef4d8c42
CRs-Fixed: 774533
2020-07-21 04:00:54 -07:00
Surabhi Vishnoi
fbbe6aa86d qcacld-3.0: Add condition to check LLM mode while updating pm_qos
Currently, the pm_qos request and cpu mask is updated in bus bandwidth
work handler. In low-latency mode also, cpu mask and pm qos request is
updated. In cases when low latency mode is enabled and cpu mask is set
to all, the bus bandwidth work handler may overwrite the settings done
in LLM mode.

To resolve this issue, add a condition to check if llm_enabled is set
while updating the pm qos request.

Change-Id: I42c131c943128702de95f545c99e35978586d417
CRs-Fixed: 2733979
2020-07-21 04:00:54 -07:00
snandini
535b8ad36e Release 5.2.0.194T
Release 5.2.0.194T

Change-Id: I795da64be20a608eae737566c74b75e61003e006
CRs-Fixed: 774533
2020-07-21 00:00:25 -07:00
Abhishek Ambure
d6ac4613c9 qcacld-3.0: Add support to send MSCS ie in assoc req
MSCS enables the establishment of classification using layer 2 and/or
layer 3 signaling to classify incoming individually addressed MSDUs
into streams. The MSCS Descriptor element defines information about
the parameters used to classify streams.
Host gets MSCS IE in set IE user request. Host adds the support to set
MSCS ie in assoc req.

Change-Id: I9c458326ffba3bad58ba27a611f5753afcf0531a
CRs-Fixed: 2732722
2020-07-21 00:00:25 -07:00
snandini
4fbc0dbf41 Release 5.2.0.194S
Release 5.2.0.194S

Change-Id: I41034ca8f632ec08924b9a8c9ed40e5184b2d864
CRs-Fixed: 774533
2020-07-20 21:54:09 -07:00
Gururaj Pandurangi
7792f58388 qcacld-3.0: Enable NAN and NAN datapath by default
The NAN configs gEnableNanSupport and genable_nan_datapath
are being removed from ini config file. So, enable them by
default in .h file.

Change-Id: Ibc1e91e6d010994b5e1419b2241f846e0fde8969
CRs-Fixed: 2710133
2020-07-20 21:54:09 -07:00
snandini
302283db60 Release 5.2.0.194R
Release 5.2.0.194R

Change-Id: Ie3d96f365ca7e3fa8f983aec4049e9490eae22b9
CRs-Fixed: 774533
2020-07-20 19:26:28 -07:00
Amar Singhal
abc1e6922d qcacld-3.0: Check if operating frequency is zero
Operating frequency may not have been filled up yet, from connectiion
profile. Check for the same.

Change-Id: I5f3c28fb855920c6038ce0714e9e0b3c4c21e7ef
CRs-Fixed: 2731261
2020-07-20 19:26:28 -07:00
Wu Gao
c455bb3201 qcacld-3.0: Rename file about enhanced cfr
This Kbuild change is about rename file of enhanced cfr.

Change-Id: I78d12998d5d320be7cd1e033dc04e88aa7402ddd
CRs-Fixed: 2734636
2020-07-20 19:26:24 -07:00
snandini
cbcd9c4696 Release 5.2.0.194Q
Release 5.2.0.194Q

Change-Id: I3f83c807fd911aac74681c5af605a8486e767151
CRs-Fixed: 774533
2020-07-20 17:15:39 -07:00
gaurank kathpalia
9f7c94b95b qcacld-3.0: Consider old peer phymode to set the new phymode
If peer phymode is not same as vdev phymode on channel switch the
peer phymode is updated with vdev phymode.

It should consider the prev peer phymode to calculate the new
phymode.

Change-Id: I33b57ad991a5899742e7aa4334089762cd325c59
CRs-Fixed: 2736158
2020-07-20 17:15:38 -07:00
Jianmin Zhu
eb5898e905 qcacld-3.0: Fix data stall after sta roaming disabled and reconnection
When reassociate, roaming is disabled by wpa_supplicant, but RSO stop
reason REASON_SUPPLICANT_DISABLED_ROAMING is ignored and roam scan mode
isn't cleared to 0 before vdev WMI_ROAM_FW_OFFLOAD_ENABLE_FLAG flag is
cleared. Then host can't receive peer unmap/map event when wlan disconnect
and reconnect, host dp peer id isn't updated, Rx frames are dropped for
peer id mismatch.

Fix: When roaming is disabled, make sure roam scan mode is cleared to 0
before vdev WMI_ROAM_FW_OFFLOAD_ENABLE_FLAG flag is cleared.

Change-Id: Ia471998cf631948d8ffa701e67fcee22eebb0fa0
CRs-Fixed: 2734351
2020-07-20 17:15:35 -07:00
snandini
9462782f9b Release 5.2.0.194P
Release 5.2.0.194P

Change-Id: I96b354c96a3db5e727dee82226d74d94f25a9ffd
CRs-Fixed: 774533
2020-07-20 07:52:24 -07:00
Rakesh Pillai
9f72aa9c82 qcacld-3.0: Fix use-after-free when skb is copied
When we receive a packet from the network stack for
transmission, we make a copy of this skb and free the
shared skb before trying to trasnmit it.

Currently the mac address used for tdls operations is
taken as a pointer to the original skb, which gets freed
after the skb_unshare.

Copy the mac address into a local stack memory instead
of using a pointer to the skb data to avoid the
use-after-free condition.

Change-Id: I9f0e6260476d5a41b7209a6a599f50a548b953b5
CRs-Fixed: 2733445
2020-07-20 07:52:22 -07:00
snandini
1d8047fe1d Release 5.2.0.194O
Release 5.2.0.194O

Change-Id: Ic18da589e613bb4cf4b00d130af102c14dfe0773
CRs-Fixed: 774533
2020-07-20 04:46:45 -07:00
Rajeev Kumar
e050826d17 qcacld-3.0: Reduce wow suspend/resume timeout to 4 seconds
Reduce wow suspend/resume timeout to 4 seconds to accommodate
lower DPM WD timeout values. WoW suspend/resume timeout value
should be less than DPM WD timeout.

Change-Id: I481ae544de0d26b49bcc0f5c4d4a384693707a5b
CRs-Fixed: 2730955
2020-07-20 04:46:45 -07:00
Manjunathappa Prakash
73abd412bb qcacld-3.0: Handle raw frames and invalid flow_idx frames
Enable handling to drop the raw Rx frames as both driver and stack
is not expected to handle them.
Handle invalid FISA flow index which is out of valid FISA flow_id range,
This can happen if we are looking at wrong or invalid TLV, in such case
it is OK deliver frame without FISA aggregation.

Change-Id: I746d4ad1ea5ba6d60cbadddb55803626abfb2868
CRs-Fixed: 2733978
2020-07-20 04:46:39 -07:00
snandini
498137d553 Release 5.2.0.194N
Release 5.2.0.194N

Change-Id: I17ac8ac10ba83328e1ed45695cec53ef6323da86
CRs-Fixed: 774533
2020-07-19 06:22:36 -07:00
Pragaspathi Thilagaraj
ef4302f003 qcacld-3.0: Don't allow roam invoke if roaming offload is not initialized
Roam invoke is done by driver if reconnect to same bssid is
received or driver FASTREASSOC command is received from the
supplicant. If roaming module is not initialized at firmware,
then still we send roam invoke to firmware and firmware sends
roam invoke failure as part of which disconnection occurs.

Check if roaming module is initialized at firmware, else return
failure for the reassociation request from userspace.
Send failure only if the kernel version is greater than 4.9,
since the fix to handle reassociation failure is available from
this version.

Change-Id: I0feae326be751e50f7327c91739cd7dddab500e9
CRs-Fixed: 2724686
2020-07-19 06:22:36 -07:00
snandini
67ed9e240b Release 5.2.0.194M
Release 5.2.0.194M

Change-Id: I953b7c5e65b60995bdf6fc66689a0a5b66cad4aa
CRs-Fixed: 774533
2020-07-18 22:30:26 -07:00
Jianmin Zhu
aa74dc19cf qcacld-3.0: back to back roaming disable cmds block wpa supplicant for 2s
If 2 roaming disable commands are sent by wpa supplicant back to back,
2nd won't send RSO STOP to target since RSO STOPPED already, and
disable_lfr_event can't be completed any more since no RSO event from
target until 2s timeout, wpa_supplicant thread and nl80211 are blocked in
wlan_hdd_cfg80211_set_fast_roaming for 2s too.

Fix:
If roaming is stopped by wpa_supplicant already and to be disabled again,
return QDF_STATUS_E_ALREADY in sme_config_fast_roaming.

Change-Id: I7d15a4d4bd8e13ff410a7023f80b418eea435fcc
CRs-Fixed: 2733945
2020-07-18 22:30:26 -07:00
snandini
5ae41b1834 Release 5.2.0.194L
Release 5.2.0.194L

Change-Id: I49f0baff1aaa4761a6a6610e680925be6d793260
CRs-Fixed: 774533
2020-07-18 18:13:46 -07:00
Alok Kumar
e338900121 qcacld-3.0: Enable packet log by default for QCA6750
Enable packet log by default for QCA6750.

Change-Id: I36ff2741820f60f039364f89d468b1d3c04538e7
CRs-Fixed: 2732820
2020-07-18 18:13:46 -07:00
gaurank kathpalia
db2239f025 qcacld-3.0: Avoid copying individual params of score config
With same structure used in src and destination use memcopy
instead of individual assignment of the params in
csr_update_score_params

Change-Id: I18a459824e12ea6e599cf4363a0a569ba6b98045
CRs-Fixed: 2734503
2020-07-18 18:13:41 -07:00
Pragaspathi Thilagaraj
1e50d68658 qcacld-3.0: Fix null pointer dereference of lim_join_req
In lim_populate_peer_rate_set(), bss description is obtained by
dereferencing the bss descriptor from session->lim_join_req.
But in LFR-3.0 roaming case, the lim_join_req will be NULL, since
roaming is south bound operation and there is no csr join request
message after roam. So this results in NULL pointer dereference
of bss_description in lim_populate_peer_rate_set() while
handling LFR-3.0 roam synch indication event.

Pass the correct bss descriptor from caller to ensure that valid
bss descriptor is passed to the lim_populate_peer_rate_set() api.

Change-Id: I3af915d5753c7aa054dc6d8766e51fd62c8314bb
CRs-Fixed: 2733807
2020-07-18 18:13:36 -07:00
Huashan Qu
7277418aa5 qcacld-3.0: Move rso related process to connection manager [PART 1]
Add macro ROAM_OFFLOAD_V1 for new code and implement below functions
for connection manager roam part:

csr_handle_roam_state_change() roam offload state related handler.
Filling WMI_ROAM_SCAN_RSSI_THRESHOLD cmd parameters related process.

Change-Id: I0351155ca5a3d68ade6568c7527c5708582ccf1a
CRs-Fixed: 2730826
2020-07-18 18:13:31 -07:00
snandini
dfdc94e135 Release 5.2.0.194K
Release 5.2.0.194K

Change-Id: If832bd9c5493e3c3123900106ceb1066a565d7ad
CRs-Fixed: 774533
2020-07-17 23:59:47 -07:00
Chaoli Zhou
4d74e08860 qcacld-3.0: Change Genoa perf config to support cnss2 as dlkm
Add the cnss2 module config to the Genoa perf defconfig
to support cnss2 as dynamic loadable kernel module

Change-Id: I3410bf129edbe7d766a490e6fa104469a18f1187
2020-07-17 23:59:47 -07:00
Srinivas Girigowda
1445904715 qcacld-3.0: Rename file name and function name for sysfs 'dp_trace'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'dp_trace'

Change-Id: Id4e366bea50d1bda95ee02cd7edd02691d0f70c6
CRs-Fixed: 2731064
2020-07-17 23:59:42 -07:00
Srinivas Girigowda
987834feb7 qcacld-3.0: Rename file name and function name for sysfs 'stats'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'stats'

Change-Id: Iffc390d4865977f9eff72a6a4bcf708c014f482e
CRs-Fixed: 2731064
2020-07-17 23:59:38 -07:00
Srinivas Girigowda
d3255f634e qcacld-3.0: Rename file name and function name for sysfs 'range_ext'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'range_ext'

Change-Id: Icf7ebbbcf1b8b219e64d1c9b98f1946069f91322
CRs-Fixed: 2731064
2020-07-17 23:59:34 -07:00
Srinivas Girigowda
d39a796a98 qcacld-3.0: Rename file name and function name for sysfs 'wlan_dbg'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'wlan_dbg'

Change-Id: I7d0e7b67afa701abd64efb62012c218ee4ab158d
CRs-Fixed: 2731064
2020-07-17 23:59:30 -07:00
Srinivas Girigowda
64d1d78340 qcacld-3.0: Rename file name and function name for sysfs 'fw_mode_config'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'fw_mode_config'

Change-Id: Ia389fa8807bbd0e58de58c503d9f3bbbef9ec707
CRs-Fixed: 2731064
2020-07-17 23:59:26 -07:00
Srinivas Girigowda
837ca7fad6 qcacld-3.0: Rename file name and function name for sysfs 'scan_config'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'scan_config'

Change-Id: I6621cbe5571541d073072ef9e0348d771fd3bc4a
CRs-Fixed: 2731064
2020-07-17 23:59:22 -07:00
Srinivas Girigowda
36b00847fc qcacld-3.0: Rename file name and function name for sysfs 'radar'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'radar'

Change-Id: If13effc45323f5a286d8aeb7a8e27848cb3e618b
CRs-Fixed: 2731064
2020-07-17 23:59:18 -07:00
Srinivas Girigowda
c9933da318 qcacld-3.0: Rename file name and function name for sysfs 'tx_stbc'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tx_stbc'

Change-Id: I274c1405fab7385202431b48d65603c38783222b
CRs-Fixed: 2731064
2020-07-17 23:59:14 -07:00
Srinivas Girigowda
fe1406f727 qcacld-3.0: Rename file name and function name for sysfs 'tdls_peers'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tdls_peers'

Change-Id: If6aa504dccd22ce0ccff11f3d73ffb1eedb5895c
CRs-Fixed: 2731064
2020-07-17 23:59:11 -07:00
Srinivas Girigowda
82f61cee0f qcacld-3.0: Rename file name and function name for sysfs 'sta_info'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'sta_info'

Change-Id: Ibb13c1496ea1dd5bc3b024b99414ac8d72db3be6
CRs-Fixed: 2731064
2020-07-17 23:59:07 -07:00