Commit Graph

15530 Commits

Author SHA1 Message Date
Jeff Johnson
d3b3b11104 qcacld-3.0: Replace typedef tSirWifiRateStat
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirWifiRateStat typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a properly named struct.

In addition the Linux Coding Style frowns upon mixed-case names so
rename the members which are currently not compliant.

Change-Id: Iff54772fda084fee932f6669ab937e136ab2cf66
CRs-Fixed: 2427166
2019-04-03 03:37:57 -07:00
sheenam monga
8fec61d333 qcacld-3.0: Added roam_reason in csr_roam_info
Currently, there is no information for roam reason
in csr

Fix,check 4 LSB of roam_synch_data for roam reason
and send roam_reason to hdd

Change-Id: I4306339eb69db3bfc05fac79b13e3693582ff05d
CRs-Fixed: 2425911
2019-04-03 03:37:52 -07:00
nshrivas
600aaf7a1d Release 5.2.0.129C
Release 5.2.0.129C

Change-Id: I7766dba140a1f58adb9ed68b79c0ad3e4cc9acec
CRs-Fixed: 774533
2019-04-02 15:15:50 -07:00
Manjunathappa Prakash
78b6a88213 qcacld-3.0: Do not requeue back GRO_DROPed skb
napi_gro_receive packet frees skb on success or drop(GRO_DROP).
Current code is trying to handle failure case by delivering skb
via non napi_gro_receive API. In case the packet is dropped by GRO,
this leads to access of freed skb.
Donot requeue GRO dropped skb to network stack.

Change-Id: Ibfbb8d4ac7f77cf3547da8c2ebc4f3fea8d226d0
CRs-Fixed: 2409252
2019-04-02 15:15:49 -07:00
Bala Venkatesh
e45f03d6c2 qcacld-3.0: Return proper status to HDD
Return correct status of fw_test_cmd to HDD

Change-Id: Ic43a44825caf9cd5ce4f58ba702f4c25ccde709b
CRs-Fixed: 2424294
2019-04-02 15:15:45 -07:00
gaurank kathpalia
6d25c97f3f qcacld-3.0: Clear Key information from driver memory after disconnect
Currently the key information i.e the key, and the number of keys
are not getting cleared on wifi link disconnection from wifi
driver memory, which can lead to information disclosure.

Clear the key information i.e the number of keys and
keys from wifi driver memory to avoid any potential information
disclore after wifi is turned off.

Change-Id: I45306e0d648c500f63f723b4e3ccb6098c055158
CRs-Fixed: 2415413
2019-04-02 15:15:41 -07:00
nshrivas
c57f867311 Release 5.2.0.129B
Release 5.2.0.129B

Change-Id: Iab92f896212ae48837fbc631c341b8c97d8f6952
CRs-Fixed: 774533
2019-04-02 11:17:25 -07:00
Mohit Khanna
cf139fe9b6 qcacld-3.0: Enable RX_DESC_DEBUG_CHECK debug flag
Enable the flag in kbuild file for SLUB builds.

Change-Id: I4fbf3b775258567d7f9651b52b9f61401fb3a270
CRs-Fixed: 2390775
2019-04-02 11:17:24 -07:00
Will Huang
cc571d4290 qcacld-3.0: Add missed checking in a loop function
The condition check of for loop in hdd_get_max_rate_legacy() was not
propagated properly, it was a dead loop. Add missed i checking.

Change-Id: I7daf623e3bb70f6a691fd62cfd4e737f7e54a791
CRs-Fixed: 2425605
2019-04-02 11:17:21 -07:00
Abhishek Singh
3bbf6cb77c qcacld-3.0: Fix wait timeout for existing channel change request
In case of STA+SAP, if STA connect to new channel, driver check
if SAP channel switch is required. Before this it wait if channel
switch is already in progress, if not it continue and check if
channel change is required. While waiting in case where event was
set and channel switch was not in progress, the even gets reset
after waiting.

So if event is not set again, i.e in case SAP channel change is not
required. Any subsequent wait on the event will result in timeout.

Also while changing channel this event is reset and then the
concurrency checks are made and if checks fails the channel change
may not happen leaving event in reset state.

So wait for event only if channel switch is already in progress.
Also reset the event once all concurrency checks have passed and
channel change is started.

Change-Id: Iffcd8b2bf9dc7cbbd7d939983601cc395ef4c515
CRs-Fixed: 2425145
2019-04-02 11:17:16 -07:00
nshrivas
a35a609aba Release 5.2.0.129A
Release 5.2.0.129A

Change-Id: I306e63cced17c884fd139e0b2cb1e66b291b3782
CRs-Fixed: 774533
2019-04-01 09:24:50 -07:00
Visweswara Tanuku
b5a6124fde qcacld-3.0: Avoid timer leak when psoc idle timeout happens in HL
In HL when psoc idle timeout is triggered, timer leak is detected
and host triggers panic.

When driver is loaded, upon device probe tx flow control timer is
initialized. When there is no activity on interface psoc idle timeout
is triggered and later during hdd_wlan_stop_modules host triggers
panic since tx flow control timer still exists. tx flow control timer
is deregistered in hdd_stop_adapter function which is not executed
during hdd_wlan_stop_modules.

Move tx flow control timer registration from hdd_open_adapter to
hdd_start_adapter function to avoid timer leak and panic

Change-Id: Id3677d09441e23f1e9e36cdf77e956d6871c46ec
CRs-Fixed: 2415146
2019-04-01 09:24:49 -07:00
nshrivas
dae1dbd570 Release 5.2.0.129
Release 5.2.0.129

Change-Id: I3eb8ef74a60d25825c4e89d4e222daf7937a514a
CRs-Fixed: 774533
2019-04-01 07:48:50 -07:00
Ashish Kumar Dhanotiya
dd5f74c00b qcacld-3.0: Update set disable channel list command implementation
Currently driver disables channels received in
SET_DISABLE_CHANNEL_LIST command, only when sap is turned
on (on start bss). According to new requirement, channels
should be disabled as soon as the command is received.

To meet above expectation, update the set disable channel list
command functionality to disable the channels as soon as the
command is received.

CRs-fixed: 2424991
Change-Id: I596c21847e90efef9676f20df528aed77e927519
2019-04-01 07:48:50 -07:00
nshrivas
f6a4068389 Release 5.2.0.128Z
Release 5.2.0.128Z

Change-Id: Ifb860a9cf5d24f333776f3b2734d6d8df338d24a
CRs-Fixed: 774533
2019-04-01 04:48:25 -07:00
Madhvapathi Sriram
8b05665b74 qcacld-3.0: Check the netdev validity before deferencing it
If the netdevice registration fails, the netdevice is freed
by referencing the context in the adapter structure.
However, in some scenarios the registration failure can result
in the netdev ops uninit being called where the reference is
reset and hence invalid.

Fix this by saving the netdevice in a local variable

Change-Id: Id01bf5d3fe633432695520bda77697842ced9ff1
CRs-Fixed: 2423508
2019-04-01 04:48:24 -07:00
nshrivas
006f1ff230 Release 5.2.0.128Y
Release 5.2.0.128Y

Change-Id: I254dd51a9d1ae3adc37d4e05fdb004bc0b84272d
CRs-Fixed: 774533
2019-04-01 00:56:53 -07:00
Visweswara Tanuku
937444762e qcacld-3.0: Allow P2P-GO channel switch in response to ECSA Frame
FR29306 has requirement to receive ECSA action frame from P2P-GO

Change id Ie9ddbf10c13f62205fdd60c512a560b35c6610ba broke this

Allow P2P-GO channel switch in response to ECSA Frame

CRs-Fixed: 2424413
Change-Id: Id388b0b6a5610b41d4da0dcda98974d9d0495eb5
2019-04-01 00:56:52 -07:00
nshrivas
a4d23c48da Release 5.2.0.128X
Release 5.2.0.128X

Change-Id: I106d928b46b0b5011e3308f3177d3565fd9cdfbf
CRs-Fixed: 774533
2019-03-31 23:01:22 -07:00
Min Liu
b3b222af60 qcacld-3.0: Reject assoc req with PMF disabled from SAE STA
For WPA3 SAE test case 4.2.7, SAP should reject the association
request with PMF disabled from SAE STA.

Change-Id: Ie2298313ce5a7a363afdb4478f541cf2da612603
CRs-Fixed: 2387822
2019-03-31 23:01:21 -07:00
nshrivas
98e93b772c Release 5.2.0.128W
Release 5.2.0.128W

Change-Id: I52d29ddda09c1b737bbedcbb8bc36015cda41c67
CRs-Fixed: 774533
2019-03-31 20:56:53 -07:00
Qun Zhang
043635a34f qcacld-3.0: Update wiphy band info after FW ready event is received
The driver can be configured to support only 2.4 GHz operation
via INI setting "BandCapability=1". Currently, when the driver
is configured in this manner, the RF bands attribute in the
WPS IE in Probe Request frames incorrectly indicates the driver
can support both 2.4 GHz and 5 GHz operation. This is because
the logic used to configure the wiphy->bands occurs before the
INI file has been processed, and hence the BandCapability is
not properly applied. To address this issue relocate the logic
that updates the wiphy->bands until after the INI file has been
processed.

Wiphy supported band info is also dependent on FW capabilities,
so update wiphy band info after FW ready event is received.

Change-Id: Ic210cafd730f56feb9df06d8ad5fcd8cca8355fc
CRs-Fixed: 2377343
2019-03-31 20:56:52 -07:00
hangtian
c847946ced qcacld-3.0: Add qcs40x.snoc.perf_defconfig
Add qcs40x.snoc.perf_defconfig. Enable CONFIG_FEATURE_TSO_DEBUG by
default, avoid spinlock bad magic issue(without spin_lock_init() for
tso_stats_lock).

Change-Id: If2fb00bd2298aa6f43418b3e4694aa995887b4f3
CRs-Fixed: 2424181
2019-03-31 20:56:47 -07:00
nshrivas
2687b551f3 Release 5.2.0.128V
Release 5.2.0.128V

Change-Id: Iad93025c9136ad8511ca0d6693073eb75b6b38de
CRs-Fixed: 774533
2019-03-30 08:07:12 -07:00
Rakshith Suresh Patkar
388e745fb2 qcacld-3.0: Add support for DPT in IPA exception path
Currently, DPTRACE is not supported for IPA exception
path. So, in softAP Mode with IPA enabled, DPTRACE
RX logs are not seen.

Add support for DPTRACE in IPA exception path.

Change-Id: I551e7380a46004fcc8dcf5f8d30e4c0a700fa3bf
CRs-Fixed: 2425310
2019-03-30 08:07:11 -07:00
nshrivas
c27fa91ab5 Release 5.2.0.128U
Release 5.2.0.128U

Change-Id: I4459582fcbfef260b5e62dd366926034c1409e87
CRs-Fixed: 774533
2019-03-30 04:53:13 -07:00
jiad
bce4f0f520 qcacld-3.0: Enable SMMU S1 for sdxprairie
Enable ENABLE_SMMU_S1_TRANSLATION option for sdxprairie.

Change-Id: I3eedee61bce6fbe2442fd15b282c054b5dd935d2
CRs-Fixed: 2425028
2019-03-30 04:53:12 -07:00
nshrivas
b80a9a918f Release 5.2.0.128T
Release 5.2.0.128T

Change-Id: I12b868775f1e8dfc43aff76ab3b4553277c76e58
CRs-Fixed: 774533
2019-03-29 21:59:00 -07:00
Abhishek Singh
97e8a71156 qcacld-3.0: Process eWNI_SME_DISCONNECT_DONE_IND even after stop bss
If LIM initiate disconnect for a peer (eSmeCommandWmStatusChange) and
at same time bss is stopped, disconnect may get processed after stop
bss and thus will return from LIM as AP has already stopped.

LIM will post eWNI_SME_DISCONNECT_DONE_IND to sme to remove
the eSmeCommandWmStatusChange command from serialization active queue.
But eWNI_SME_DISCONNECT_DONE_IND is not processed in CSR sub state
eCSR_ROAM_SUBSTATE_STOP_BSS_REQ the command is not removed.

Fix is to handle the eWNI_SME_DISCONNECT_DONE_IND in
eCSR_ROAM_SUBSTATE_STOP_BSS_REQ state.Also allow
hdd_cfg80211_del_station call during unload.

Change-Id: I79cd1f413f2f9f12e6da6702098b782b6c156d24
CRs-Fixed: 2425724
2019-03-29 21:58:59 -07:00
nshrivas
4687817c34 Release 5.2.0.128S
Release 5.2.0.128S

Change-Id: If8a2fa5d4d0d11dde0a2faa5748c1a7e90aaf0f6
CRs-Fixed: 774533
2019-03-29 16:58:51 -07:00
Jeff Johnson
43b0c6a123 qcacld-3.0: Refactor put_wifi_peer_info()
In order to simplify put_wifi_peer_info() refactor the logic for
attribute QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_RATE_INFO into a
separate function.

Change-Id: I72f4aef0a4df340a52eea59579216e5978a0d98c
CRs-Fixed: 2424696
2019-03-29 16:58:50 -07:00
Jeff Johnson
7e10ec3eda qcacld-3.0: Rename HDD identifier pWifiPeerStat
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD identifier pWifiPeerStat to be
compliant.

Change-Id: I3ca4d8a2e03ad1cab8512f9f665db1e6aebdc285
CRs-Fixed: 2424503
2019-03-29 16:58:45 -07:00
Jeff Johnson
35a70254ac qcacld-3.0: Rename HDD identifier pWifiPeerInfo
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD identifier pWifiPeerInfo to be
compliant.

Change-Id: Ib0652a6b2f20fdd3c4ced29689b5428be4d4ac0d
CRs-Fixed: 2424502
2019-03-29 16:58:40 -07:00
Jeff Johnson
8439667256 qcacld-3.0: Rename HDD identifier pWifiIfaceStat
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD identifier pWifiIfaceStat to be
compliant.

Change-Id: I91fbbeef154f27600699a3cf761779fd4b1282cb
CRs-Fixed: 2424501
2019-03-29 16:58:34 -07:00
Jeff Johnson
0dc4211730 qcacld-3.0: Rename HDD identifiers wmmInfo & wmmStats
The Linux Coding Style frowns upon mixed-case names so rename HDD
identifiers wmmInfo & wmmStats to be compliant.

Change-Id: Ie285a7d71aaa7df1d4de02067f84bc2f3df2e874
CRs-Fixed: 2424500
2019-03-29 16:58:30 -07:00
nshrivas
36d85f7a0a Release 5.2.0.128R
Release 5.2.0.128R

Change-Id: I04e50f9ef1d22ede34d2cc9bb63c2f5d77607c42
CRs-Fixed: 774533
2019-03-29 15:26:59 -07:00
Bala Venkatesh
0f74545bb3 qcacld-3.0: Replace duplicate api's of vdev_connected
Currently, the vdev connection status is checked by getting
the bss peer of that vdev, and if the bss peer is in associated
state then vdev connected status is sent as true. It can happen
vdev is present and bss peer is deleted after getting the bss peer
from vdev pointer. Then bss peer can not be dereferenced to get the
its status.

Instead remove all the duplicate api's tdls_is_vdev_connected,
pmo_core_is_vdev_connected, and wlan_vdev_is_connected with
wlan_vdev_is_up. wlan_vdev_is_up gives success status
if associated.

Change-Id: I863c3c0689f329870bd08c813813c16956135209
CRs-Fixed: 2424996
2019-03-29 15:26:58 -07:00
nshrivas
219b9065ff Release 5.2.0.128Q
Release 5.2.0.128Q

Change-Id: I4737f3271b978ab1c1ade8f1e150de6c0cbfcea1
CRs-Fixed: 774533
2019-03-29 11:05:44 -07:00
wadesong
4e0852344d qcacld-3.0: Remove local variables not used
With the introduction of code change in
I16a5429c00034fe58fb4c70a8dacda666ac54227,
function __wlan_hdd_cfg80211_suspend_wlan doesn't
need the local variable 'scan_info' any more, so
remove it.

Change-Id: I09070d90004f740b25b45b424902521e7bfb6f6b
CRs-Fixed: 2425697
2019-03-29 11:05:43 -07:00
Manjunathappa Prakash
f5b6f5f4b7 qcacld-3.0: Add INI config option to control WMI credits
Add INI option to control consecutive WMI writes. Setting this 1
will essentially serializes the HTC WMI command writes.

Change-Id: I8e28990127f3e4dac2fa91ac9b9df87eed321a2a
CRs-Fixed: 2424795
2019-03-29 11:05:38 -07:00
nshrivas
feaf050e76 Release 5.2.0.128P
Release 5.2.0.128P

Change-Id: I1b943973b7100d2605bb4307daaebd68a5fa7441
CRs-Fixed: 774533
2019-03-29 00:47:53 -07:00
Arun Kumar Khandavalli
deda5a812c qcacld-3.0: Add support to improve coex logging
Add support to get the various Coex data from the debugfs.
This commit adds the support to get the various coex data:
            * COEX STATE
            * COEX DPWB STATE
            * COEX TDM STATE
            * COEX IDRX STATE
            * COEX ANTENNA SHARING STATE
The specific state information can be read via the debugfs.
Example to read the COEX STATE logging:
            sm6150:/ # cat /sys/kernel/debug/wlan/mws_coex_state
                    vdev_id = 0
                    coex_scheme_bitmap =  0
                    active_conflict_count = 0
                    potential_conflict_count = 0
                    chavd_group0_bitmap = 0
                    chavd_group1_bitmap = 0
                    chavd_group2_bitmap = 0
                    chavd_group3_bitmap = 0

Change-Id: I92272ad7edf44df22730ac0fa992d876840ba632
CRs-Fixed: 2413943
2019-03-29 00:47:53 -07:00
Srinivas Girigowda
a9ce5e64db qcacld-3.0: Change argument data type from int to unsigned int
kstrtou32() expects 3rd argument to be of data type unsigned int,
but currently argument of type int is passed.
Fix this by changing int to unsigned int.

Change-Id: I9ee73a67ab609fe646877db3c967f9972dacc988
CRs-Fixed: 2425520
2019-03-29 00:47:49 -07:00
nshrivas
df8389f488 Release 5.2.0.128O
Release 5.2.0.128O

Change-Id: I918400ba6367e915458e5e1e035a014f622fdb92
CRs-Fixed: 774533
2019-03-28 16:50:17 -07:00
Visweswara Tanuku
0b2e5e8e47 qcacld-3.0: Add config option for Thermal Throttling
Add driver config option for FW_THERMAL_THROTTLE_SUPPORT

Change-Id: I17fc8062cb18ed828578f97a1b24908f68e3a8cf
CRs-Fixed: 2419919
2019-03-28 16:50:16 -07:00
Ajit Pal Singh
3d50c8e7d0 qcacld-3.0: Do not change bus/target delta for QCN7605
Do not change bus/target delta for QCN7605. All the credits
received from FW will be released to the schheduler.

Change-Id: I17dbd1a4545d8b577ea521773c17506a0fc818cf
CRs-Fixed: 2423138
2019-03-28 16:50:12 -07:00
Mohit Khanna
b7194395ee qcacld-3.0: Handle unregistered OS RX handles in DP RX Thread
On association completion, RX handles are registered with the DP layer
as a part of cdp_vdev_register. It is possible that immediately after
association, host receives RX packets, but RX handles have not been
registered for the vdev with DP layer.

Drop packets in DP RX Thread if OS RX handles are not found for the
vdev.

Change-Id: I3bbd489ec9c5e6f6267521818663b123a85bb3f9
CRs-Fixed: 2419376
2019-03-28 16:50:07 -07:00
Min Liu
6de8633393 qcacld-3.0: Fix vdev leak in csr_roam_issue_set_context_req_helper
In csr_roam_issue_set_context_req_helper, reference of vdev is not
released after get.

Change-Id: I686cd6a8dfd7e7889ef8e9ac3a4c6eb6be217f6e
CRs-Fixed: 2424885
2019-03-28 16:50:03 -07:00
Srinivas Girigowda
a47b45f94f qcacld-3.0: Consolidate multiple MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
Consolidate multiple (redundant) MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
PMO_80211_ADDR_LEN
IEEE80211_ADDR_LEN
ETHER_ADDR_LEN
HTT_MAC_ADDR_LEN
ETHERNET_ADDR_LEN
DEFRAG_IEEE80211_ADDR_LEN
OL_TXRX_MAC_ADDR_LEN
QCSAP_ADDR_LEN

CRs-Fixed: 2406592
Change-Id: I829c5799e4724f81af996b23fdd4ea03f4728bc4
2019-03-28 16:49:58 -07:00
Jinwei Chen
e614397417 qcacld-3.0: configure rx_stack when register tdls peer
vdev->osif_rx_stack is overwritten to NULL when register tdls
peer, meantime, if there is RX data wait ro be indicated in
dp_rx_thread queue, host panic since vdev->osif_rx_stack
is NULL.

configure rx_stack when register tdls peer if dp_rx_thread is true.

Change-Id: I4afebce7f5f89485c9661f6394a8fd484409c05c
CRs-Fixed: 2423270
2019-03-28 16:49:54 -07:00