Commit Graph

14597 Commits

Author SHA1 Message Date
nshrivas
d2b07ed49a Release 5.2.0.118J
Release 5.2.0.118J

Change-Id: I6a69e1284cfe6368bfeebbbb8d4ce1e69cbb294c
CRs-Fixed: 774533
2019-02-05 13:37:46 -08:00
Rakshith Suresh Patkar
9f5c586e08 qcacld-3.0: Read dp cfg values at start_adptr instead of open_adptr
Stop modules is done and datapath context is cleared as part of
CDS dp close. But, as part of add virtual interface, the following
sequence is followed:
 1) hdd_open_adapter
 2) start_ modules from hdd_psoc_idle_restart
 3) hdd_start adapter.

hdd_open_adapter accesses the dp_soc to read TCP UDP checksum ini
value which is invalid access as dp_soc is not initialized.

Move the ini access logic to hdd_start adapter from hdd_open_adapter
as dp context is initialized in start_modules called as part of
hdd_psoc_idle_restart.

Change-Id: I1fbbcc7f8faf3d461c5625ee8cfb60a01c4f94d2
CRs-Fixed: 2393342
2019-02-05 13:37:46 -08:00
Dustin Brown
e8d91fc50a qcacld-3.0: Remove WMA_MAX_SUPPORTED_BSS
As part of the effort to use a single definition for the maximum number
of vdevs, replace WMA_MAX_SUPPORTED_BSS with WLAN_MAX_VDEVS.

Change-Id: I7f0bd615b65e21dc0052933d5e194ca650336b42
CRs-Fixed: 2393167
2019-02-05 13:37:41 -08:00
Dustin Brown
ad06be6199 qcacld-3.0: Remove CSR_ROAM_SESSION_MAX
As part of the effort to use a single definition for the maximum number
of vdevs, replace CSR_ROAM_SESSION_MAX with WLAN_MAX_VDEVS.

Change-Id: I71f9c02acec23314f65ac9d5ee3401ed7b4af580
CRs-Fixed: 2393166
2019-02-05 13:37:37 -08:00
Dustin Brown
5262b2b018 qcacld-3.0: Remove SIR_MAX_SUPPORTED_BSS
As part of the effort to use a single definition for the maximum number
of vdevs, replace SIR_MAX_SUPPORTED_BSS with WLAN_MAX_VDEVS.

Change-Id: I1b1823c74c0fc741ba3ed72f13854ac5bbb20e35
CRs-Fixed: 2393159
2019-02-05 13:37:33 -08:00
nshrivas
5025844b7c Release 5.2.0.118I
Release 5.2.0.118I

Change-Id: Ia9a0aab815c8bd94a196870354a1108556c8a625
CRs-Fixed: 774533
2019-02-05 11:09:36 -08:00
Abhinav Kumar
093925b6fc qcacld-3.0: Add diag events for debugging
Currently there are no diag events to inform user space about
algo num, Tx Seq num and status code of auth req.

Add such diag events which can be useful in automation.

Change-Id: Ic015d7b97142eeaad59b94b94272a8f2c987079a
CRs-Fixed: 2372193
2019-02-05 11:09:35 -08:00
Bala Venkatesh
2a773828bc qcacld-3.0: Fix tdls idle peers data override
As part of connection tracker handler, If the link is connected
then current tx and rx stats are compared with configured threshold
values. If the current stats fall below the threshold then idle timer
is initialized and idle peer data is stored in tdls soc and given as
userdata to the timer handler. The userdata is overwritten if the another
tdls peer becomes idle and this can lead to wrong tdls peer teardown.

Change-Id: I34638bdebe02e17e1c9e117e58352bdaab867921
CRs-Fixed: 2393320
2019-02-05 11:09:31 -08:00
nshrivas
d7784232a3 Release 5.2.0.118H
Release 5.2.0.118H

Change-Id: I6ce5392306eabcf18570a96f6a5cf26f3506cb5e
CRs-Fixed: 774533
2019-02-05 06:29:31 -08:00
Ashish Kumar Dhanotiya
c617106eea qcacld-3.0: Add support to cache peer capability info
Currently connected peer capability information is not getting
cached for SAP.

Add support to cache the capability info from assoc request

Change-Id: I0088bd20a98e2491f6ffb452417bc73f21e69e63
CRs-Fixed: 2392939
2019-02-05 06:29:30 -08:00
nshrivas
7f1e1b8530 Release 5.2.0.118G
Release 5.2.0.118G

Change-Id: Iecf9f0d0e00cb2775ad9be79a4f593d9d09b13be
CRs-Fixed: 774533
2019-02-05 04:02:02 -08:00
Pragaspathi Thilagaraj
d5cb9e8196 qcacld-3.0: Add vdev valid check for vdev level wmi commands
Check if vdev is active for the following vdev commands before
sending it to firmware:
1. WMI_SCAN_PROB_REQ_OUI_CMDID
2. WMI_VDEV_WMM_ADDTS_CMDID
3. WMI_VDEV_SET_WMM_PARAMS_CMDID
4. WMI_BCN_TMPL_CMDID

This will avoid the race condition where the vdev is deleted
and the vdev related commands for the deleted vdev are sent
to firmware before wmi_stop_inprogress is set at wmi.

Change-Id: Ib3eacc191002395de9640516b9088b01b3a64966
CRs-Fixed: 2392770
2019-02-05 04:02:01 -08:00
nshrivas
c8670e6433 Release 5.2.0.118F
Release 5.2.0.118F

Change-Id: I00b24c569196d79a6b0c0aedb13556e10371a763
CRs-Fixed: 774533
2019-02-05 01:39:00 -08:00
gaurank kathpalia
c380383cbf qcacld-3.0: Use the peer mac address array instead of structure
Currently the driver uses structure for peer mac address
to store the mac address.

Use the already existing peer mac address array for the same.

Change-Id: Id3715f6abbbf23f4f8d1836eb548b5193a62500a
2019-02-05 01:38:59 -08:00
gaurank kathpalia
2e1aa99e00 qcacld-3.0: Check peer address before peer create
Check peer address for group or zero before peer create
as there is no way a MGMT frame can be sent to such
a peer, and it also may lead to peer leak in FW, if
this peer is created, as peer delete doesn't go for
such a peer.

Fix is to have a sanity check and then only allow
peer create in host and FW.

Change-Id: Ia7f9e870f10ff8fea5b03f01697370d05ca06668
CRs-Fixed: 2392771
2019-02-05 01:38:55 -08:00
Jeff Johnson
19f4af5b3a qcacld-3.0: Alias vdev_id to session_id in hdd_adapter
Currently struct hdd_adapter uses the legacy term session_id. To align
with converged naming it is desirable to change this to vdev_id, but
due to the large number of places where session_id is used it will be
difficult to modify all occurences at once. In order to allow changes
to "trickle in" replace the session_id field with a union that
contains both a session_id and a vdev_id field. This will allow
vdev_id and session_id to both be used to access the same data item.

Subsequent changes can then replace references to session_id with
vdev_id, and then once all references have been converted, replace the
union with a single vdev_id field.

Change-Id: Id92b1a7bb9721564ba01184809fec98be2143545
CRs-Fixed: 2392986
2019-02-05 01:38:50 -08:00
nshrivas
9c9fdcc821 Release 5.2.0.118E
Release 5.2.0.118E

Change-Id: I4206b32cfde62a9206d841df3572bdbbfdbe55f2
CRs-Fixed: 774533
2019-02-04 23:21:02 -08:00
Dustin Brown
a19834ba8b qcacld-3.0: Add max vdev/pdev/psoc build config options
To reduce hard coding in the driver, add the following build config
options with defaults to the Kbuild:
 * CONFIG_WLAN_MAX_PSOCS
 * CONFIG_WLAN_MAX_PDEVS
 * CONFIG_WLAN_MAX_VDEVS (supercedes CONFIG_SIR_MAX_SUPPORTED_BSS)
 * CONFIG_WLAN_PSOC_MAX_VDEVS
 * CONFIG_WLAN_PDEV_MAX_VDEVS

Change-Id: I14fce4bf34eb511214ad0b31be72336a2620b960
CRs-Fixed: 2393150
2019-02-04 23:21:01 -08:00
nshrivas
d398b62200 Release 5.2.0.118D
Release 5.2.0.118D

Change-Id: I03c936f28f6c98733b6e52ab20a3d1e3e9868456
CRs-Fixed: 774533
2019-02-04 15:36:34 -08:00
Bala Venkatesh
fa9601a4f6 qcacld-3.0: Initialize the max tdls peers in tdls soc
Currently, in tdls soc max tdls peers are initialized
in tdls_global_init that is done as part of tdls psoc open.
But, sometimes the Ini values used to initialize the tdls
max peers are not initialized before global init
because tdls_update_config has done for the Ini vallues.
This can lead to wrong value of max tdls peers in tdls
soc and later can result in TDLS connection deny.

Change-Id: I6bb51db571129490c225737c1913b8ddafadde8d
CRs-Fixed: 2392494
2019-02-04 15:36:33 -08:00
Harprit Chhabada
6420b58077 qcacld-3.0: Fix null pointer dereference in wma_fill_roam_synch_buffer
chan, a pointer to wmi_channel is derived from
param_buf->chan. param_buf->chan is derived from
WMI_ROAM_SYNCH_EVENTID_param_tlvs structure and
can be null. This may lead to null pointer dereference
when chan try to access the mhz field, chan->mhz.

Change-Id: I84ade344d2df3dfb5e35e7afaca3ddb768e22769
CRs-Fixed: 2385447
2019-02-04 15:36:29 -08:00
nshrivas
73e2043402 Release 5.2.0.118C
Release 5.2.0.118C

Change-Id: I8f941c1fc785cc2b8de65ea323eb87cfa017c122
CRs-Fixed: 774533
2019-02-04 13:07:52 -08:00
Rakshith Suresh Patkar
da3aa3367d qcacld-3.0: Unpause priority queue before all netif queues
In ol_tx_flow_pool_map_handler, we will unpause all netif
queues. Unpausing will fail if any queue bitmap is not
cleared and pause_map remains non zero.

To avoid this, unpause priority queue before unpausing all
non priority queues.

Change-Id: If9a4e5d923b300aa03f01847da1ad64e8d6c61ef
CRs-Fixed: 2391158
2019-02-04 13:07:51 -08:00
nshrivas
bb2d554d3b Release 5.2.0.118B
Release 5.2.0.118B

Change-Id: Ic21589ad898ffb801dcffd20b9721ce143dbe4e0
CRs-Fixed: 774533
2019-02-04 10:44:35 -08:00
gaurank kathpalia
582366945a qcacld-3.0: Give unique message IDs to each enum
Give unique message IDs to each enum eWniMsgTypes.

Change-Id: Ib8d9ac03b83baf30ce83f6b112f28813e270b881
CRs-Fixed: 2392676
2019-02-04 10:44:34 -08:00
Nachiket Kukade
2fb1fdb1ac qcacld-3.0: Combine all NAN related flags with WLAN_FEATURE_NAN
Flag WLAN_FEATURE_NAN_DATAPATH was added to protect NAN Datapath
related code, while WLAN_FEATURE_NAN_CONVERGENCE was added to
protect the converged code inside NAN Component. Since the
original NAN Discovery related code has now been moved inside
NAN component and NAN Datapath cannot exist without NAN Discovery,
keeping these flags separate doesn't make sense. Combine these
two flags with WLAN_FEATURE_NAN flag which is the original NAN
feature flag.

As a cleanup of NAN code, combine all NAN related flags with
WLAN_FEATURE_NAN flag.

Change-Id: If98ecaace17f8724e9c28325ef61e721f42e1d8f
CRs-Fixed: 2377375
2019-02-04 10:44:30 -08:00
nshrivas
8064f01cb5 Release 5.2.0.118A
Release 5.2.0.118A

Change-Id: I912921898070bc61e383266aafec3f6462d1ae5c
CRs-Fixed: 774533
2019-02-03 22:12:26 -08:00
Jeff Johnson
85982a5e13 qcacld-3.0: Remove alternateChannelId from assoc structs
Structs sSirSmeAssocCnf and sSirSmeAssocIndToUpperLayerCnf both define
an alternateChannelId field. For both of these the field is written
but not read, and hence that usage is pointless. Since these fields
serve no purpose, remove them.

Change-Id: Icae506f3d9baea0c44896cc7dc69897bbdc236d2
CRs-Fixed: 2392273
2019-02-03 22:12:25 -08:00
Jeff Johnson
1305f69e54 qcacld-3.0: Remove "alternate bssid" from assoc structs
Structs sSirSmeAssocCnf and sSirSmeAssocIndToUpperLayerCnf both define
an "alternate bssid" field, but only one of them is actually used. And
even there the field is written but not read, and hence that usage is
pointless. Since these fields serve no purpose, remove them.

Change-Id: I0591ac51d724c8195cf3dda75609a46429676bfd
CRs-Fixed: 2392272
2019-02-03 22:12:21 -08:00
nshrivas
856485b5af Release 5.2.0.118
Release 5.2.0.118

Change-Id: Ic009901f3e9f9cdc3d8daf43e511812e2485d1ce
CRs-Fixed: 774533
2019-02-01 20:11:45 -08:00
Dustin Brown
d01590f457 qcacld-3.0: Update hdd_vdev_sync to use device
The hdd_vdev_sync APIs currently use wiphy as a proxy for a PSOC.
However, hdd_psoc_sync has recently moved to keying off of device.
Update the hdd_vdev_sync APIs to match by using device instead of wiphy.

Change-Id: I50d2597fd96a7a09dfa32152b00106b8ee7ab51a
CRs-Fixed: 2392093
2019-02-01 20:11:44 -08:00
Dustin Brown
f0f00615ee qcacld-3.0: Migrate psoc ops to hdd_psoc_sync
As a follow up to migrating PSOC transitions to the new hdd_psoc_sync
APIs, migrate PSOC operation protection as well.

Change-Id: Ia22072f5dbd43d629102975fe370d79b6689575c
CRs-Fixed: 2392092
2019-02-01 20:11:40 -08:00
Dustin Brown
cfcb5762f6 qcacld-3.0: Migrate psoc transitions to hdd_psoc_sync
With the recent addition of hdd_psoc_sync APIs, DSC use is abstracted
behind a common interface for PSOCs. Begin migrating HDD to the new
interface by updating PSOC transitions to use the new APIs.

Change-Id: Ia9102d906dc0c699719a05726b47def7a00e925c
CRs-Fixed: 2392091
2019-02-01 20:11:36 -08:00
Dustin Brown
b7cad141e4 qcacld-3.0: Add hdd_psoc_sync APIs
To bring HDD PSOC synchronization in line with recent VDEV enhancements,
add hdd_psoc_sync APIs. These allow for atomically looking up a psoc
synchronization context via device pointer, and protecting various call
flows via DSC primitives.

Change-Id: Iacc62454f0ca2c8f2098384f16d98713a4373361
CRs-Fixed: 2392089
2019-02-01 20:11:32 -08:00
nshrivas
234ac6ca99 Release 5.2.0.117Z
Release 5.2.0.117Z

Change-Id: I0f2fea01a90c4d16b1bd9a375f6384a515e7bf43
CRs-Fixed: 774533
2019-02-01 16:01:44 -08:00
gaurank kathpalia
0c48d3d640 qcacld-3.0: Replace WNI dot11 mode with mlme dot11 mode
As part of CFG ini convergence, remove the macros of WNI
and replace them with the new enums of mlme dot11 mode

Change-Id: Ib7fbf480aa067d02690eb1448c74fcc083d94c59
CRs-Fixed: 2389401
2019-02-01 16:01:43 -08:00
nshrivas
8fc31149e4 Release 5.2.0.117Y
Release 5.2.0.117Y

Change-Id: Ifa66a1683b573d664be02c45989519d8ed7d11c8
CRs-Fixed: 774533
2019-02-01 05:54:29 -08:00
Bala Venkatesh
03b4f0cb34 qcacld-3.0: Delete the pe session only for STA role
While processing deuath notification in lim, PE session is deleted
without checking the session role. For AP case, if the deauth
notification is given to BSSID then also pe session will be deleted
and later clean up of the SAP will not be done properly.
Hence, for SAP case delete the pe session as part of del bss
response only.
Here the scenario is SAP's BSSID is blacklisted and acl command
is given via IOCTL. This triggered the deauth notification to lim,
and pe_session is deleted. Later, the del sta command is failed
because del bss has not happened and vdev delete also not done.

Hence delete pe session only for sta mode in lim_send_sme_deauth_ntf.
And return failure status for iwpriv softap.0 modify_acl command
if it is given for SAP's own mac address.

Change-Id: I2b394ae8676fe569537b416388a9566f2d35892a
CRs-Fixed: 2388404
2019-02-01 05:54:28 -08:00
nshrivas
4766dbbf62 Release 5.2.0.117X
Release 5.2.0.117X

Change-Id: I370b498edc3e5e79c5a1e5cd5e51fd745891c8a1
CRs-Fixed: 774533
2019-02-01 00:41:34 -08:00
Kiran Kumar Lokere
eb168a555e qcacld-3.0: Fix LDPC disable issue in HE mode
Check peer and self HE capabilities for LDPC coding and set
the configuration to FW only if both self and peer HE LDPC
capability is set.

Change-Id: Ib462b5ab373062182fce970ffc8b5c0fc6906ded
CRs-Fixed: 2379298
2019-02-01 00:41:33 -08:00
nshrivas
82ee5db9ea Release 5.2.0.117W
Release 5.2.0.117W

Change-Id: I9434fe9f1cd55ec56b44ea149b08f0670535105d
CRs-Fixed: 774533
2019-01-31 19:58:29 -08:00
Wu Gao
7067513825 qcacld-3.0: Cleanup legacy code of cfg CFG_ENABLE_LFR_SUBNET_DETECTION
CFG_ENABLE_LFR_SUBNET_DETECTION refactored based on new cfg framework,
related legacy codes unused, so clean it up.

Change-Id: Ica0cae4fa12fd560ebe30182bd1d4831ac1a99f5
CRs-Fixed: 2391310
2019-01-31 19:58:28 -08:00
Manjunathappa Prakash
666898ec74 qcacld-3.0: ndo_select_queue support for 4.19 kernel
In the 4.19 Linux kernel, the ndo_select_queue function signature has
changed. Add support for it under kernel version compilation flag.

Change-Id: Ie396d79ae9642a24d99aeda6f82def310f2115d8
CRs-Fixed: 2389052
2019-01-31 19:58:24 -08:00
Manjunathappa Prakash
7114007b35 qcacld-3.0: converge STA and SAP ndo_select_queue net_device_ops
Converge on STA and SAP ndo_select_queue net_device_ops implementation.

Change-Id: Ia8d5177be3718a52d5c2eabaf83212c3a864d679
CRs-Fixed: 2389052
2019-01-31 19:58:19 -08:00
nshrivas
3abf57b44e Release 5.2.0.117V
Release 5.2.0.117V

Change-Id: Ibd40b9bfb3f24a8615785823239be08829b7ada4
CRs-Fixed: 774533
2019-01-31 17:30:06 -08:00
Sandeep Puligilla
efeb4a9451 qcacld-3.0: Refactor CFG item
Refactor CFG item CFG_ENABLE_UNIT_TEST_FRAMEWORK

Change-Id: Ie140e79ced10d034a6f3832b869c8c9aba21170f
CRs-Fixed: 2381032
2019-01-31 17:30:05 -08:00
Yeshwanth Sriram Guntuka
7f445f46e1 qcacld-3.0: Do not invoke gratuitous_arp_unsolicited_na API
Do not invoke cfg80211_is_gratuitous_arp_unsolicited_na API
for kernel version greater than 4.6 because the functionality
is implemented at higher layer in TCP/IP stack.

Change-Id: I0b04b44b9fa9961bd917edbe09396546392c08bc
CRs-Fixed: 2390950
2019-01-31 17:29:59 -08:00
Yeshwanth Sriram Guntuka
1c555fc687 qcacld-3.0: Disconnect STA interface if it is on indoor channel
If force scc is enabled for STA+SAP concurrency and SAP not allowed on
indoor channels then STA should be disconnected first if it is on indoor
channel before starting the SAP.

Change-Id: If0985b559030b44834df851e170f320c7f942036
CRs-Fixed: 2189793
2019-01-31 17:29:54 -08:00
nshrivas
611b50523e Release 5.2.0.117U
Release 5.2.0.117U

Change-Id: I1c00bfe1ce202950ec3be49a8c2a80334b20eacd
CRs-Fixed: 774533
2019-01-31 02:45:34 -08:00
chenguo
90c6846477 qcacld-3.0: Set nbuf to NULL in error handling of wma_tx_packet
The caller of wma_tx_packet does not need to check if nbuf becomes
to NULL to decide if the nbuf free is needed. It is the designing
job of wma_tx_packet to free it if there is something wrong. Fix
one of the double free issue in ADDBA response transmission.

CRs-Fixed: 2379912
Change-Id: I944dea72a72cf9d937a72a3e0a31bbad88c8694d
2019-01-31 02:45:33 -08:00