Commit graph

20,632 commits

Author SHA1 Message Date
Srinivas Girigowda
8fb7e79124 qcacld-3.0: dp: Remove redundant __func__ from the logs
The logging macros implicitly takes care of embedding function name
in the log, hence there is no need to include __func__ again.
Getting rid of redundant __func__ reduces driver memory footprint.

Change-Id: I878671f03be0727bca3bca5dfd82eae4e353c6e1
CRs-Fixed: 2768575
2020-09-03 19:27:23 -07:00
Srinivas Girigowda
87b638fadb qcacld-3.0: Remove redundant __func__ from the logs
The logging macros implicitly takes care of embedding function name
in the log, hence there is no need to include __func__ again.
Getting rid of redundant __func__ reduces driver memory footprint.

Change-Id: Idf4685539991f65205f19b27551cef699230c82e
CRs-Fixed: 2768575
2020-09-03 19:27:18 -07:00
Sandeep Puligilla
e15b17acf0 qcacld-3.0: Kbuild change to enable interface manager
Build file changes to compile interface manager files

Change-Id: I8370e49853d83a6b8adcc130d7aa92ead00f4ff5
CRs-Fixed: 2759251
2020-09-03 19:27:14 -07:00
snandini
5f50b5e329 Release 5.2.0.201G
Release 5.2.0.201G

Change-Id: If43f8d556374736fcb5dfb5d10147133cd8d8c83
CRs-Fixed: 774533
2020-09-03 15:25:00 -07:00
Abhishek Ambure
346c895e6d qcacld-3.0: Clean up station stats for get station vendor cmd
User requests station stats using QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO
command. Presently host request peer stats from FW when user request
station stats for STA mode. FW doesn't support peer stats for STA mode.
Hence clean up the code for get station vendor command for STA mode.

Change-Id: Ie815690edae543dbedbf73f13c4c157197efad87
CRs-Fixed: 2768301
2020-09-03 15:25:00 -07:00
gaurank kathpalia
cb27dfd2e4 qcacld-3.0: Add support for sme_abort_roaming for ROAM_OFFLOAD_V1
Adds support for sme_abort_roaming for ROAM_OFFLOAD_V1.
Also fix compilation error for ROAM_OFFLOAD_V1.

Change-Id: I06247b1118b7dee32ff392b247e2e08e32dbaf9f
CRs-Fixed: 2768397
2020-09-03 15:24:56 -07:00
Sachin Ahuja
0dc264f36e qcacld-3.0: Search class from global opclass also
While querying for the channel width, the opclass is
extracted from the country opclass. If opclass is not
found then 20Mhz channel width is considered for connection.
This fails the cert test case when AP sends the global
opclass in ECSA.

Change is done to search in the global opclass if the
opclass is not found in the country specific opclass.

CRs-Fixed: 2768075
Change-Id: I24b585af7174a31fe800d6453bbfe18dc5f24af1
2020-09-03 15:24:52 -07:00
snandini
f0a8792a0d Release 5.2.0.201F
Release 5.2.0.201F

Change-Id: I59ccba529a519093992b6d6008e05d1ae18eaec4
CRs-Fixed: 774533
2020-09-03 04:04:03 -07:00
Ashish Kumar Dhanotiya
918c7e4c07 qcacld-3.0: Add feature flag for line number logging
Currently line number is not useful in the logs and to print
the line number consumes lot of memory in driver text area size.
To reduce the driver size add feature flag to enable/disable
line number logging in the driver.

Change-Id: Ie11e3425cb61edad09c0da0337d0daa18e2a56d6
CRs-Fixed: 2766244
2020-09-03 04:04:03 -07:00
snandini
11ce7680ea Release 5.2.0.201E
Release 5.2.0.201E

Change-Id: I6414feee03424d465387aa0de07e6632649c2362
CRs-Fixed: 774533
2020-09-03 01:58:21 -07:00
Min Liu
f928593fb2 qcacld-3.0: Add QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_FRAMES_CRC_FAIL_COUNT
Add QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_FRAMES_CRC_FAIL_COUNT

Change-Id: I0c44109b678c8886869752940d5dc600ad7a4e9e
CRs-Fixed: 2758487
2020-09-03 01:58:21 -07:00
Bapiraju Alla
b47ae637aa qcacld-3.0: Remove unnecessary error prints in get channel callback
Remove error prints in get_channel callback. These prints are
filling up the kmesg and don’t provide any info.

Change-Id: I224b53ebe73c803b2ff9c2e9512af9eab53f8d79
CRs-Fixed: 2767148
2020-09-03 01:58:17 -07:00
snandini
9cf77e05ef Release 5.2.0.201D
Release 5.2.0.201D

Change-Id: Ie0fb646e80881f8d95b54f5768eb4c1fcc55f6ff
CRs-Fixed: 774533
2020-09-02 23:51:54 -07:00
Yeshwanth Sriram Guntuka
9ce83d4015 qcacld-3.0: Set type to NLA_NESTED for DATA_PKT_INFO attribute
DATA_PKT_INFO attribute has type set to u32 in the
driver NL policy while wifihal has the type set to
NLA_NESTED. This results in the NUD stats set request
to not reach driver.

Fix is to set DATA_PKT_INFO attribute type to NLA_NESTED.

Change-Id: Iba8e69a1fc017df65f30b441e4d6d3862ffc2263
CRs-Fixed: 2765559
2020-09-02 23:51:54 -07:00
gaurank kathpalia
6cb80095fc qcacld-3.0: Cleanup assoc disallowed related code
Cleanup legacy assoc disallowed related code
and take the params from connection manager.

Also update the connection manager config in
case of change of config in relation to
assoc disallowed.

Change-Id: I558b5b7f3b3c422d2882630d16e0f3dfd1898d09
CRs-Fixed: 2767490
2020-09-02 23:51:50 -07:00
snandini
cfac506fe9 Release 5.2.0.201C
Release 5.2.0.201C

Change-Id: Ice42ef97bf94a120a78d811e27126c41b639f56e
CRs-Fixed: 774533
2020-09-02 13:51:29 -07:00
Nisha Menon
60960c90b1 qcacld-3.0: Map IPA tx buffers as part of IPA ready callback
Register IPA ready callback with IPA driver. The callback
sets ipa_is_ready flag in the host driver and kick starts
the ipa init sequence as part of which the Tx buffers are
mapped to IPA.
None of the IPA APIs are invoked until IPA ready registration
is complete.

Change-Id: I4dda8fd083c71400532139174f834b757e05e5a6
CRs-Fixed: 2752235
2020-09-02 13:51:29 -07:00
snandini
e6f63c46f5 Release 5.2.0.201B
Release 5.2.0.201B

Change-Id: Idfbd9e0743e4a9b4c11d3999c026fcc4090fcbc6
CRs-Fixed: 774533
2020-09-02 06:52:37 -07:00
Abhishek Ambure
32e06f1124 qcacld-3.0: Add support to set/reset BLM suspend state
Once host sends WMI_WOW_ENABLE_CMDID then host components must not send
any WMI command to FW. In suspend state if host sends WMI command then FW
crashes.
Hence add support to set/reset suspend state of Blacklist manager.
Thus Blacklist manager checks the suspend state and then only sends WMI
command to FW.

Change-Id: I2581d38a485c4f930a6e2dfb951c0fdc2306fa3b
CRs-Fixed: 2765404
2020-09-02 06:52:36 -07:00
snandini
4ecf9d0ce3 Release 5.2.0.201A
Release 5.2.0.201A

Change-Id: Id13e7e011c882e73bce84b80585b0cebf2700e36
CRs-Fixed: 774533
2020-09-02 00:21:03 -07:00
gaurank kathpalia
249f7a6467 qcacld-3.0: Take care of hw mode change in Connection mgr
Set hw mode before initiating connection request
and send vdev start to FW.

Change-Id: I76e17465b3e40762df62d6c08deb9066ff98a6a7
CRs-Fixed: 2763362
2020-09-02 00:21:03 -07:00
snandini
701f38f6ff Release 5.2.0.201
Release 5.2.0.201

Change-Id: I77e1a4008e20c6d3e0b22115e46307e970b481a3
CRs-Fixed: 774533
2020-09-01 22:20:38 -07:00
Abhinav Kumar
aad917a899 qcacld-3.0: Remove unused INI gFirstScanBucketThreshold
Currently INI: gFirstScanBucketThreshold is not used
while LFR2/LFR3 roaming.

Remove unused INI gFirstScanBucketThreshold

Change-Id: Ifa909fc57d3ac3da696369fcffc390826f393b44
CRs-Fixed: 2767372
2020-09-01 22:20:38 -07:00
snandini
d211305a4b Release 5.2.0.200Z
Release 5.2.0.200Z

Change-Id: I41010c5fcaa4d76f04531585c77951891d675e26
CRs-Fixed: 774533
2020-09-01 20:21:27 -07:00
Utkarsh Bhatnagar
617c89ade1 qcacld-3.0: Limit the BA window buffer size
In case where peer itself exhibits BA window size more
than the allowed value, crash can happen. So, limit the
BA window size to maximum allowed BA buffer size in case
peer BA req buffer size is more than it.

Change-Id: Ie695b9787b555616a5443077147d4bc3a3aefb78
CRs-Fixed: 2766363
2020-09-01 20:21:27 -07:00
Utkarsh Bhatnagar
cfa6d18bcf qcacld-3.0: Remove redundant logging in sir_convert_beacon_frame2_struct
Remove redundant log prints in sir_convert_beacon_frame2_struct()

Change-Id: I21fff68bb683209393d0daf6ed48c9f05c6d4b9c
CRs-Fixed: 2767421
2020-09-01 20:21:22 -07:00
snandini
07e3361cc5 Release 5.2.0.200Y
Release 5.2.0.200Y

Change-Id: Ia559f72f3353501c6cc5559e10f4653d7ca4fc2e
CRs-Fixed: 774533
2020-09-01 18:14:30 -07:00
gaurank kathpalia
178c824347 qcacld-3.0: Have a kernel version check in BIGTK support
Check for kernel version along with feature support
for BIGTK feature support.

Change-Id: Ife033276a7464656a0ba027af0c6e0bf05480ebe
CRs-Fixed: 2763296
2020-09-01 18:14:30 -07:00
Wu Gao
8022a5b74e qcacld-3.0: Only update channel list for STA mode
When DUT as STA and connected to 2G band AP, and trying to connect to
2G band P2P GO as P2P client. It filters out all 2G band before get
scan result. which casue P2P connection failed. So won't call
wlan_cm_dual_sta_roam_update_connect_channels and allow 2G channels
if opmode isn't STA. This change removes codes about getting filter
for NULL profile case since pProfile has been checked and it won't be
NULL.

Change-Id: I9e83e25c19740a3eebc460af0a660b1315556b4f
CRs-Fixed: 2762443
2020-09-01 18:14:26 -07:00
Pragaspathi Thilagaraj
170c20e443 qcacld-3.0: Add support for roam scan mode command in connection mgr
Add changes to send roam scan mode over RSO start/stop/update_cfg
from connection manager. Update the roaming params and roam scan
params to new structure.

Refine send_roam_scan_offload_mode_cmd_tlv().

Change-Id: I6adce2e8a24ece93a079032d0e66760393fcdccd
CRs-Fixed: 2766023
2020-09-01 18:14:21 -07:00
Arun Kumar Khandavalli
b971c50f23 qcacld-3.0: configure sgi through cfg80211
Add the cfg80211 configuration support for sgi

Previously the bitrate mask is added via the iwpriv

iwpriv wlan0 shortgi 8

will be configured via below through iw

iw dev wlan0 set bitrates ht-mcs-2.4  7 sgi-2.4 8

Change-Id: I31d4ff34fd55c74e814fc23b2960bf36e645da72
CRs-Fixed: 2760059
2020-09-01 18:14:17 -07:00
Utkarsh Bhatnagar
87f20e8d31 qcacld-3.0: Consider only self capability for RRM
Do not update the RRM capabilities based on the peer
association response frame as it is a self capability.

Also, in case of passive scan for RRM beacon report, add
10 ms to the dwell time so that chances of receiving
beacon increases.

Change-Id: I2230e9b08996093cd6f312b5c48d84645d8895c8
CRs-Fixed: 2760810
2020-09-01 18:14:13 -07:00
gaurank kathpalia
a1e965e789 qcacld-3.0: Change PCL for throughput case in case of STA+GO
Currently the driver goes for SCC when STA is
present on 2.4Ghz and the GO comes up.

In case the user wants throughput then
GO should go for VHT80 in 5ghz even in
case of STA present on 2.4ghz so that
it leads to better throughput.

Change-Id: I211858b42d3de407f6047609f966f95720644109
CRs-Fixed: 2763812
2020-09-01 18:14:09 -07:00
snandini
b8de2ffeeb Release 5.2.0.200X
Release 5.2.0.200X

Change-Id: Id5a17e3dbff33b6ced011d8c0f19741ecfda8a4f
CRs-Fixed: 774533
2020-09-01 14:23:49 -07:00
Bapiraju Alla
c9daf6161f qcacld-3.0: Update channel self Rx time to the user space
Currently, channel rx time is not being updated to user space as
part of link stats. Instead channel tx_time is being overwritten
with the same value. Due to this user space is not getting channel
rx_time in the link stats.

Update channel rx time in the channel link stats.

Update representation of tx_time and rx_time in the ll_stats debugfs
output to align with other stats.

Change-Id: I850adb11169eb24c81f1e31a4ff498f4e20ab9c6
CRs-Fixed: 2765485
2020-09-01 14:23:49 -07:00
snandini
dae743c8f6 Release 5.2.0.200W
Release 5.2.0.200W

Change-Id: I9983edd17a4f16b397729d9614a42ee3fe3b7c6e
CRs-Fixed: 774533
2020-08-31 22:05:54 -07:00
Ke Huang
546320e8e2 qcacld-3.0: Update probe/asso rsp ie before beacon data updated
qcacld-2.0 to qcacld-3.0 propagation

The probe rsp ie will not updated after beacon updated.
This will cause the probe rsp ie not appear in probe rsp
tags even the ie appears in beacon.
Put the updating of probe/asso rsp ahead of beacon updated.

Change-Id: If55f72ce788f4e0f162bb0c13fcff7b2129bf423
CRs-Fixed: 2648396
2020-08-31 22:05:54 -07:00
Srinivas Girigowda
0a3c47ece6 qcacld-3.0: Replace QDF_MAC_ADDR_STR/ARRAY with QDF_FULL_MAC_FMT/REF
Replace QDF_MAC_ADDR_STR/ARRAY with QDF_FULL_MAC_FMT/REF.
Only in kernel and driver logs, use QDF_MAC_ADDR_FMT
for all debugfs, sysfs, ioctl, unit test code use QDF_FULL_MAC_FMT

Change-Id: I8cd0c065dad94e4700a009b951b10ee699568813
CRs-Fixed: 2763159
2020-08-31 22:05:50 -07:00
snandini
6276c67e6e Release 5.2.0.200V
Release 5.2.0.200V

Change-Id: I7ec0112bab3d6456fd1ed6006c1dc578efde19fa
CRs-Fixed: 774533
2020-08-31 20:02:06 -07:00
Pragaspathi Thilagaraj
2d1baa7548 qcacld-3.0: Fix NULL pointer dereference of mlme_priv
Fix NULL pointer dereference of mlme_priv while using
the macro GET_CM_ROAM_TX_OPS_FROM_VDEV. Also replace this
macro GET_CM_ROAM_TX_OPS_FROM_VDEV with inline function to comply
with the linux coding style “Generally, inline functions are
preferable to macros resembling functions”

Change-Id: Ifc9ba37e3d260b027ba79457f00382374f3b78ac
CRs-Fixed: 2764891
2020-08-31 20:02:06 -07:00
Jia Ding
aca93a9919 qcacld-3.0: Properly check return value of lim_cmp_ssid
lim_cmp_ssid() calls qdf_mem_cmp() and a return value of 0
means the memory to be compared are equal.

In lim_chk_ssid(), checking against != true is thus not
proper to ensure memory are equal. Thus check against
0 to ensure requested SSID matches our own SSID configured.

Change-Id: I31651e7fba47ae6eb22dc034c4479114343e8652
CRs-Fixed: 2765570
2020-08-31 20:02:01 -07:00
snandini
92b946c457 Release 5.2.0.200U
Release 5.2.0.200U

Change-Id: I170f204437a93070fe9ea7e826f92157e015964e
CRs-Fixed: 774533
2020-08-31 17:21:10 -07:00
wadesong
65e8c1c219 qcacld-3.0: Fix a race condition in roaming module
A race condition can happen when roaming state machine
transition takes place in the following sequence:

  1) FW indicates 'roam_synch' event to driver, and driver in
     turn, advances its roaming state machine to
     'WLAN_ROAM_SYNCH_IN_PROG', in wlan scheduler context;
  2) HDD layer starts to do 'disconnect'(could be due to NUD
     failure), and thus needs to stop roaming scan offload in
     the following sequence:

     2.1) Post a RSO stop cmd to FW, via the scheduler thread;
     2.2) Advance the roaming state machine to a new state of
          'WLAN_ROAM_RSO_STOPPED';
     2.3) Check if:
          >> the roaming state machine is still in a state of
	     'WLAN_ROAM_SYNCH_IN_PROG'
	  >> the neighbor roaming state is in any of the states
	     below:
	        eCSR_NEIGHBOR_ROAM_STATE_REASSOCIATING;
		eCSR_NEIGHBOR_ROAM_STATE_PREAUTHENTICATING;
		eCSR_NEIGHBOR_ROAM_STATE_PREAUTH_DONE;

	  Here, if any of the conditions becomes true, then
	  HDD will wait for 4 sec to let the roam_synch handler
	  finish its job, otherwise the wait will not happen.
     2.4) Disconnect the current vdev and advance the roaming
          state machine to 'WLAN_ROAM_DEINIT';

In a corner case, race condition can happen in the following
sequence:

 >> thread 1), which executes in wlan scheduler context, starts
    to run first, and thus roaming state machine advances to
    'WLAN_ROAM_SYNCH_IN_PROG', but then gets preempted before
    starting to parse the assoc resp frame attached in the
    roam_synch event;
 >> thread 2) starts to run and posts RSO stop cmd, but the req
    msg cannot be handled right away due to scheduler thread
    is actively running with other tasks, so it gets queued at
    step 2.1);
 >> thread 2) continues to run, and simply advances the roaming
    state machine to 'WLAN_ROAM_RSO_STOPPED' at 2.2), and then
    it will find out none of the conditions listed in 2.3) is
    true, so it choses NOT to wait for 'roam_synch' handler to
    finish;
 >> thread 2) reaches to step 2.4) without waiting at 2.3), and
    roaming state machine advances to 'WLAN_ROAM_DEINIT';
 >> thread 1) continues to run and starts to parse the assoc
    resp frame indicated by FW, and finds that the roaming state
    machine NOT in 'WLAN_ROAM_SYNCH_IN_PROG', and thus goes to
    the wrong way to treat the buffer in a different manner,
    causing a invalid pointer access here.

Fix the racing condition by checking if the roaming state machine
is in 'WLAN_ROAM_SYNCH_IN_PROG' before advancing the same to
'WLAN_ROAM_RSO_STOPPED' in function wlan_hdd_wait_for_roaming().

Change-Id: I202ccb371e9e70a76ef35938c700b60c91b7d3cb
CRs-Fixed: 2761880
2020-08-31 17:21:10 -07:00
Abhinav Kumar
101d014faa qcacld-3.0: Add support to config num of chains over vendor cmd
Currently there is only SETANTENNAMODE ioctl command to configure
number of chains to firmware.

Add support to configure the number of chains over the nl vendor
command QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS and
QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS.

This new interface will configure the number of chains per vdev
dynamically.

Change-Id: Iff22d886529f6d8fb205d668eba8928039620a20
CRs-Fixed: 2756647
2020-08-31 17:21:06 -07:00
sheenam monga
a1ed4e6ac4 qcacld-3.0: Advertise WAPI AKM suites
Issue: Driver supports WAPI AKM suites but doesn't advertise
WAPI_PSK_AKM_SUITE and WAPI_CERT_AKM_SUITE due to which
WAPI may not be visible to Settings

Fix: Advertise WPAI AKM suites to avoid any incompatibilty issue
between driver and supplicant.

Change-Id: I59569837f699adba270f73ceb4fc5dc12c349d26
CRs-Fixed: 2759876
2020-08-31 17:21:03 -07:00
Chaoli Zhou
075cb24e55 qcacld-3.0: Limit the IPA tx buffer for Genoa
In order to improve the Genoa DBS KPI, need to
increase the IPA tx complete ring size from
1024 to 2048. And the tx buffer count also will
increase from 1023(1024-1) to 2047(2048-1) according.
But in fact, as for wlan fw, it just only reserve
1500(1100 for 5G, 400 for 2.4G) tx desc for packets
from IPA, so some tx buffer will not used here,
which will waste memory. So to save some memory,
export CONFIG_LIMIT_IPA_TX_BUFFER for platform
configuration to limit the max IPA tx buffer count

Change-Id: Id5d4c5a220b588747f3d1981627f6253d7c3305b
2020-08-31 17:20:59 -07:00
Jingxiang Ge
e1d285c75e qcacld-3.0: Add wakeup source tracker
Enable debug for wakeup source tracker.

Change-Id: Id840beed56c80f35e70213bc6ecb41b8b068a04f
CRs-Fixed: 2760398
2020-08-31 17:20:56 -07:00
snandini
84574726f2 Release 5.2.0.200T
Release 5.2.0.200T

Change-Id: I1310e61ebe5384e4e9214110212ae065700c463a
CRs-Fixed: 774533
2020-08-31 03:32:27 -07:00
Abhishek Ambure
2e27e581c5 qcacld-3.0: Don't set OCV bit in RSN cap if AP is not PMF enabled
OCV capability i.e. 0x4000 bit in RSN capability is set to 1 to
indicate that the STA supports operating channel validation by
including Operating Channel Information (OCI) in RSNA exchanges
and validates the information when received from another STA that
indicated this capability.
OCV support implicitly depends on PMF capability, AP's with no PMF
support disassociate STA if STA sets OCV bit in RSN capability of
assoc request. Hence if AP doesn't support PMF, do not set OCV
support bit i.e. 0x4000 in RSN capability of assoc request.

Change-Id: I4a331cab9dfaebe3a6b8ff8656888a333355f4a6
CRs-Fixed: 2763169
2020-08-31 03:32:27 -07:00
snandini
11e9245db3 Release 5.2.0.200S
Release 5.2.0.200S

Change-Id: Ib4b7a6fa4fe6fafbe7811fc684ec65c6e86bb6ee
CRs-Fixed: 774533
2020-08-31 01:37:14 -07:00