Commit Graph

9293 Commits

Author SHA1 Message Date
Arif Hussain
2f2d351cc1 qcacld-3.0: Update bss color on bss color switch count zero
Update bss color on color switch count zero.

Change-Id: I60eadd5454768bc1a5cabaead4ce1f966e4a0f6b
CRs-Fixed: 2200419
2018-03-08 18:46:48 -08:00
Will Huang
5561cb3c00 qcacld-3.0: Add load/unload status check before wlan_hdd_mgmt_tx
If wlan_hdd_mgmt_tx is called while unload in progress, it is possible
ROC scan can't be canceled, cds_ssr_protect already prevent
wlan_hdd_mgmt_tx running before unloading, we must also prevent it
running after it.

Change-Id: Ic8d981c9be2a2b33079c4e3c9a18a4d8bce48956
CRs-Fixed: 2202026
2018-03-08 18:46:44 -08:00
Abhishek Singh
3ed00d11ba qcacld-3.0: Avoid TDLS entry with MAC same as existing non-TDLS peer
In lim_tdls_setup_add_sta() even if a pStaDs is already present and
is a non TDLS peer, the driver proceed assuming it as TDLS peer and
update its type and states.

Now when driver tries to delete this non TDLS peer, as its states
and type are modified it fails to properly clean up the peer.

Fix it by allowing only TDLS entry to be updated. Also ignore if a
entry is already present and the operation is TDLS add.

Change-Id: I65fc73d65cdf768fd5b8afd050ca7314fd55c9ff
CRs-Fixed: 2200498
2018-03-08 18:46:41 -08:00
Rachit Kankane
b103562c27 qcacld-3.0: Add HTC Credit History Feature flag
Add compilation flag to compile out HTC credit History
feature cleanly from the cld-3.2 driver binary.

Change-Id: I5f5e73e430d282c99d3077fb82ed1cb8eb79715a
CRs-Fixed: 2190545
2018-03-08 18:46:38 -08:00
Jeff Johnson
111ad91fa3 qcacld-3.0: Remove obsolete hdd_qdf_event
Change "qcacld-3.0: Use Request Manager for ioctl getWlanStats"
removed the only user of item hdd_qdf_event in struct hdd_wext_state,
so completely remove it.

Change-Id: Ifc00f6dc396ca5f6e59b3895a6c9467179073218
CRs-Fixed: 2202506
2018-03-08 10:32:50 -08:00
Jeff Johnson
ced658b0aa qcacld-3.0: Use Request Manager for ioctl getWlanStats
Currently the handling of private ioctl getWlanStats uses a legacy
mechanism for coordinating the request with the response. Change this
to use the HDD Request Manager.

Change-Id: I7e8333cf8d2e651e04509e3370c30d8a6425bdca
CRs-Fixed: 2202504
2018-03-08 10:26:46 -08:00
Jeff Johnson
d37833f995 qcacld-3.0: Relocate hdd_statistics_cb()
Function hdd_statistics_cb() is registered as a callback function by
__iw_get_statistics() when calling sme_get_statistics(). Since
hdd_statistics_cb() and __iw_get_statistics() are tightly coupled it
makes sense for them to be co-located, but currently they are
not. Therefore relocate hdd_statistics_cb() to be adjacent to
__iw_get_statistics(). Note that this is a precursor to further
cleanup of this pair of functions.

Change-Id: Ie36d107d9ef2e541444c5fb9d7bfba7e9e82c1e6
CRs-Fixed: 2201907
2018-03-08 10:24:25 -08:00
nshrivas
cb37b44fe7 Release 5.2.0.68Y
Release 5.2.0.68Y

Change-Id: I37e6b7750067dd8008bce90b475b13dc41e6dbbb
CRs-Fixed: 774533
2018-03-07 17:28:51 -08:00
Jeff Johnson
a8ce12744d qcacld-3.0: Remove unused hdd_roam_register_tdlssta() param
The parameters to function hdd_roam_register_tdlssta() currently
includes ucastSig. This "signature" parameter dates back to a previous
version of the driver that used signatures to synchronize the data
plane with the control plane. However the current version of the
driver does not use this parameter, so remove it as part of the plan
to completely remove these signatures from throughout the driver.

Change-Id: Iee51d79e58501e3e8312c6c7a21b98c1ae6bf268
CRs-Fixed: 2200886
2018-03-07 17:28:51 -08:00
Jeff Johnson
3f6c89f77d qcacld-3.0: Remove unused hdd_softap_register_sta() params
The parameters to function hdd_softap_register_sta() currently include
ucastSig and bcastSig. These "signature" parameters date back to a
previous version of the driver that used these signatures to
synchronize the data plane with the control plane. However the current
version of the driver does not use these parameters, so remove them as
part of the plan to completely remove these signatures from throughout
the driver.

Change-Id: I1f1f1fb1ef553d36ba0f4902ab29b2b4852ae5ca
CRs-Fixed: 2200356
2018-03-07 17:28:48 -08:00
nshrivas
9399ffc507 Release 5.2.0.68X
Release 5.2.0.68X

Change-Id: I3922e0e3895c19ed0d568da497f02e90a8377b4c
CRs-Fixed: 774533
2018-03-07 16:27:55 -08:00
Yeshwanth Sriram Guntuka
2d6204f944 qcacld-3.0: Add support for HW mode info vendor command
Add support for HW mode info vendor command which sends
mac id, band, interface id and frequency information for
each MAC provided by driver to userspace.

Change-Id: If1112d29b8781cf5ba0480c84feeb772142f2c0e
CRs-Fixed: 2160531
2018-03-07 16:27:54 -08:00
nshrivas
c96c04c5b2 Release 5.2.0.68W
Release 5.2.0.68W

Change-Id: I0b9067bf554931002bc880ea4e12e758b6b598cc
CRs-Fixed: 774533
2018-03-07 03:55:28 -08:00
Nirav Shah
459bebf99a qcacld-3.0: Featurize EPPING Feature
Featurize EPPING Feature to compile out
in mission mode.

Change-Id: I55a4820f0cbbac80861904a9f05721cc513e1d0c
CRs-Fixed: 2198846
2018-03-07 03:55:28 -08:00
jiad
da34c57e5d qcacld-3.0: Fix wlan load failure when IPA uc not ready
In IPA offload case, if wlan driver is loaded before IPA uC is ready,
error is returned in hdd_ipa_init, which leads to whole driver load
failure. This is not the case since IPA driver provides wlan driver
a notify callback where IPA will invoke this callback when IPA uC
is ready.

Fix is to not return error if IPA uC is not ready during wlan loading
phase.

Change-Id: I98382abbb3bb3b1176f3be41228ac260c1017c24
CRs-Fixed: 2198998
2018-03-07 03:55:24 -08:00
nshrivas
0f4eff8648 Release 5.2.0.68V
Release 5.2.0.68V

Change-Id: I5a457c84f8f8f4cc1c0a3e6f8e27b98a450dae79
CRs-Fixed: 774533
2018-03-07 01:37:34 -08:00
Padma, Santhosh Kumar
7eecb5afbb qcacld-3.0: Consider SSID from supplicant
There is a chance that SSID may be NULL in IE's received by driver
and driver publishes the same in association request which is not
expected. Always consider SSID from supplicant which is valid in
all scenarios to fix this.

Specific scenario:
OWE SSID is hidden in OWE transition mode. When supplicant detects
connection to OWE transition mode, it issues connect with required
SSID to driver. But that ssid does not present in driver scan cache
as it is hidden. Instead of this ssid, driver scan cache has NULL
entry. Driver uses this NULL entry in association request which is
not expected.

Change-Id: I7ceb712db87d6c7f73c7483f74d402b1ab3e30db
CRs-Fixed: 2197532
2018-03-07 01:37:33 -08:00
Abhishek Singh
f1c1676351 qcacld-3.0: Fix memory corruption due to wlan_hdd_add_age_ie
In wlan_hdd_add_age_ie the mgmt->u.probe_resp.variable is type casted
to qcom_ie_age, before incrementing the mgmt->u.probe_resp.variable
to get the qcom_ie_age pointer. This leads to memory corruption.

Fixed by typecasting the pointer once the qcom_ie_age pointer is
derived by incrementing the offset of qcom_ie_age from
mgmt->u.probe_resp.variable.

Change-Id: Iafcdb5c17f0d9c234687ddcc6f8b9100b21cc957
CRs-Fixed: 2201303
2018-03-07 01:37:30 -08:00
nshrivas
b903b6eeb4 Release 5.2.0.68U
Release 5.2.0.68U

Change-Id: Ic1a97882bf00a6587252460c7700216690c2e2c5
CRs-Fixed: 774533
2018-03-06 23:45:09 -08:00
Krunal Soni
40c5e4425a qcacld-3.0: Self peer req is not handled properly causes P2P failure
1) When wma_self_peer_remove() API returns failure, driver triggers
recovery without checking if driver unload is in progress which may
cause driver to go in bad state.

2) when wma_self_peer_remove() API returns success, driver releases the
memory accidently as part of I14895b0d3a19b3aaea2299311cc021ea14408f1e

Fix 1st condition by checking if driver unload is in progress. If driver
in unloading then just release the memory and return failure. If driver
is not unloading then just trigger SSR recovery, so FW can recover
silently.

Fix 2nd condition by checking the return status and release the memory
up on failure status code.

CRs-Fixed: 2197657
Change-Id: Ia08dbdac66d8641d22f6a82c29ab1a5b99309214
2018-03-06 23:45:09 -08:00
Krunal Soni
1b5debddcc qcacld-3.0: Release memory when del self sta req fails in WMA layer
The memory leak is detected in API csr_process_del_sta_session_command()
for the memory allocation of del_sta_self_req.

SME sends this message from WMA for further processing.
When WMA_DEL_STA_SELF_REQ is processed, wma_self_peer_remove() will be
called for p2p device. If wma_self_peer_remove() API is failed due to
some reason then memory needs to be freed up which is allocated through
csr_process_del_sta_session_command() API which is missing.

For any failure case, release the message memory allocated by SME either
by releasing directly in WMA when response is not required or by sending
failure response which in turn releases the memory when response is
required.

CRs-Fixed: 2192935
Change-Id: I14895b0d3a19b3aaea2299311cc021ea14408f1e
2018-03-06 23:45:06 -08:00
Rachit Kankane
85b47fca22 qcacld-3.0: Compile out WMI logging feature
Fix to compile cleanly when WMI_INTERFACE_EVENT_LOGGING
feature is disabled.

Change-Id: I7bb4b0304adf829f7f95e95795bcc60ce061d8a2
CRs-Fixed: 2192126
2018-03-06 23:45:01 -08:00
Kiran Kumar Lokere
722dccd92a qcacld-3.0: Add support to allow WEP/TKIP in HE for test
Add support for test configuration to allow WEP/TKIP in HE mode

Change-Id: I19b0620bc3b8e1f7319af5e762e565fcaba11b79
CRs-fixed: 2194497
2018-03-06 23:44:58 -08:00
nshrivas
f229a80aa8 Release 5.2.0.68T
Release 5.2.0.68T

Change-Id: Ia93b3b30b464b4d94e6b0a80b1beb32ddeb57ac3
CRs-Fixed: 774533
2018-03-06 01:51:20 -08:00
Abhishek Singh
821f09c3fc qcacld-3.0: Add logic to negotiate the auth and enc type depending on AP
In testbed sta mode the RSNE enc type and auth type may not match the
AP's enc type and auth type and thus the scan filter is unable to match
and find the AP.

Introduce auth and enc type as "ANY" in scan filter. With the auth
and enc type set as ANY, all the AP's matching the BSSID and SSID
will be filtered and the negotiated auth and enc type will be
dependent on AP's auth and enc type.

Change-Id: Ia7d573b393f7883f4c92188133734795be1781aa
CRs-Fixed: 2197223
2018-03-06 01:51:20 -08:00
Abhishek Singh
f05b0cb604 qcacld-3.0: Add logic to use common API to inform beacon
Duplicate API's are present in HDD and common code to inform the
beacon to kernel. This change removes the duplicate API from HDD
and use common API to inform beacon.

Change-Id: I1916ebd6d3c153f47533cde6a1e2e78ebaae55dc
CRs-Fixed: 2199760
2018-03-06 01:51:15 -08:00
nshrivas
294570b5b4 Release 5.2.0.68S
Release 5.2.0.68S

Change-Id: I63fd67ceacc08bbdf41ddb198ca322bd2800ca1c
CRs-Fixed: 774533
2018-03-05 23:33:27 -08:00
Dustin Brown
0b703ef927 qcacld-3.0: Remove maxWoWFilters and related
Recent changes in Power Management and Offload (PMO) have removed the
need for a configurable maximum number of WoW filters. Remove the
following relevant fields:

 * maxWoWFilters
 * CFG_MAX_WOW_FILTERS_MAX
 * WMA_STA_WOW_DEFAULT_PTRN_MAX
 * max_wow_filters
 * ol_ini_info

Change-Id: I99cc74731d6373258dc65473a8342bda0ab2786b
CRs-Fixed: 2199452
2018-03-05 23:33:27 -08:00
nshrivas
e521f86d33 Release 5.2.0.68R
Release 5.2.0.68R

Change-Id: I31b4e808969439cfb2bf56c4850b8e358ba7c6a5
CRs-Fixed: 774533
2018-03-05 22:33:44 -08:00
Mukul Sharma
ecf8e09fd5 qcacld-3.0: Disable indoor channel on sap start
There are scenario where indoor channel operations
(like  active / passive scan/connect/roam etc)
are not desired / permitted specially in sap case.
Hence add support of disabling indoor channel
on sap start and revert it on sap stop.

Change-Id: Id6e01534532e3076a3e662e6a4f71e8be924165a
CRs-fixed: 2121103
2018-03-05 22:33:43 -08:00
nshrivas
e892451b7e Release 5.2.0.68Q
Release 5.2.0.68Q

Change-Id: I31bb989f3915fcd3e2b227915cf2e26772b89080
CRs-Fixed: 774533
2018-03-05 21:43:47 -08:00
Dustin Brown
b9987afb2c qcacld-3.0: Update firmware filter config (part 1)
In order to conserve firmware memory when various filtering features are
not in use, update the target configuration provided to firmware based
on the intersection of various filtering features and host
configuration.

Part 1
	num_wow_filters = ARP/NS offload enabled ? 2 : 5
	bpf_instruction_size - BPF enabled ? 0 (auto) : 0xffffffff

Part 2 (pending firmware support)
	pkt_filter_num = Packet Filter enabled ? 12 : 0 (disabled)

Change-Id: Ic6624ff04598b53d8321e4864618b12b9702780f
CRs-Fixed: 2196997
2018-03-05 21:43:46 -08:00
Dustin Brown
f1d278041b qcacld-3.0: Add wlan_pmo_apf.[ch]
Add files to house PMO logic for the Android Packet Filter (APF).

Change-Id: I30e40b1dc761261511d8a37e5720a4f5c737b36c
CRs-Fixed: 2198745
2018-03-05 21:43:43 -08:00
nshrivas
186dcee58a Release 5.2.0.68P
Release 5.2.0.68P

Change-Id: Ia1b9ff9a5850c830c208e4bb60b422ebe5b7ba69
CRs-Fixed: 774533
2018-03-05 20:48:52 -08:00
Dustin Brown
d3a53dbc06 qcacld-3.0: Fix PERF build issue in PMO
Building CLD3.2 with a performance configuration results in several
"potentially uninitialized" warnings. Initialize the relevant variables
to avoid the warnings.

Change-Id: If97b67d50ebe2b7465fd2cc5a6a44488e4cb25a7
CRs-Fixed: 2200294
2018-03-05 20:48:51 -08:00
Arif Hussain
80a328aeaa qcacld-3.0: Fix possible buffer overflow in csr_update_fils_params_rso
Fix possible buffer overflow in csr_update_fils_params_rso function.

Change-Id: Icc6e31c094611a74624eed7a4e98ffaf7128f464
CRs-Fixed: 2196080
2018-03-05 20:48:48 -08:00
Arif Hussain
d15902ccd5 qcacld-3.0: Fix possible null pointer de-references in SME and WMA
Add null check to avoid null pointer de-references.

Change-Id: I8a93f269467bbb0dec5610ae158c4f5dc9658a12
CRs-Fixed: 2196080
2018-03-05 20:48:45 -08:00
Dustin Brown
06259e5d96 qcacld-3.0: Add ucfg_pmo_psoc_set_caps()
Provide PMO-specific device capabilities to PMO. This allows PMO to do
intersections between configuration and device capabilities.

Change-Id: If0a199f9be466d16cef900a29b14b73a2a4e52d0
CRs-Fixed: 2197828
2018-03-05 20:48:43 -08:00
Tiger Yu
757f448a04 qcacld-3.0: Remove unmap for packets in the vdev ll_pause queue
The packets in the vdev ll_pause queue hasn't been doing the qdf_nbuf_map,
or they might be mapped by other module like ipa. So do not unmap in the
ol_txrx_vdev_detach to avoid the mis-match operation.

Change-Id: I498c09152be95464bc6343f2a48d63e13d621a82
CRs-Fixed: 2198903
2018-03-05 20:48:39 -08:00
nshrivas
fa6c888f24 Release 5.2.0.68O
Release 5.2.0.68O

Change-Id: I9ec289a57184e0be98704898fac3d5270b3c523a
CRs-Fixed: 774533
2018-03-05 14:19:06 -08:00
Yun Park
bab87d68c1 Revert "qcacld-3.0: Add BUG_ON when uC ready failed"
This reverts commit I87b635bf4644b54d47bee65307d7484c9e328885.
This should be used for uC loading debug purpose only.
If uC is not loaded yet when WLAN initialization, we are expecting
the registered uC ready callback is invoked after uC loaded later.

Change-Id: Ie6f6d116ff7a23a9b4900c60053a8e76948734d9
CRs-Fixed: 2196878
2018-03-05 14:19:05 -08:00
nshrivas
956a457fbe Release 5.2.0.68N
Release 5.2.0.68N

Change-Id: I69a3201431bfd691c8c4ab5f79b24d66d810aace
CRs-Fixed: 774533
2018-03-05 13:22:32 -08:00
Abhinav Kumar
cc86496435 qcacld-3.0: Handle error case in wma_extscan_cached_results_event_handler
Currently, driver calls wma_group_num_bss_to_scan_id API from
wma_extscan_cached_results_event_handler to group bss to scan id
table. Without checking return status of wma_group_num_bss_to_scan_id,
HDD callback is called which can lead to NULL pointer de-reference issue
in wlan_hdd_cfg80211_extscan_cached_results_ind if malloc for
t_scan_id_grp->ap fails in wma_group_num_bss_to_scan_id.

Add check for return status of "wma_group_num_bss_to_scan_id" in
wma_extscan_cached_results_event_handler before invoking HDD callback

Change-Id: I457f39404436c54feb4b555f8101895d3c1ae5d7
CRs-Fixed: 2188297
2018-03-05 13:22:31 -08:00
nshrivas
9709de96f4 Release 5.2.0.68M
Release 5.2.0.68M

Change-Id: I44d2be06b34b4de718c3f1a0d4fa96aa5ebd9670
CRs-Fixed: 774533
2018-03-05 07:16:41 -08:00
Min Liu
22202b703a qcacld-3.0: Peer is not deleted when delete VDEV
Failure can be observed when waiting for peer deletion
before sending WMI command. Peer deletion in VDEV stop
timeout handler also need to be handled in the scheduler
queues.

Change the logic to wait for peer delete completion
before sending message to scheduler queue to delete VDEV.

Change-Id: I78d3070a73c85d212bc33c346b3e60edf3c016f8
CRs-Fixed: 2187430
2018-03-05 07:16:41 -08:00
nshrivas
cda75202eb Release 5.2.0.68L
Release 5.2.0.68L

Change-Id: Ib7e3e22fa65af08ab8e75496356fcae8c7b8d088
CRs-Fixed: 774533
2018-03-05 05:25:21 -08:00
Yeshwanth Sriram Guntuka
d1f8ca7325 qcacld-3.0: Return error if channel list is NULL
Hostapd sends channel list as NULL in do_acs request
when country mode is set to world and hw mode is 11a.
This results in scan to be triggered on all 5g channels
and driver to choose 5g channel as best channel.

Fix is to return error to hostapd if channel list
received is NULL.

Change-Id: I17aacfdbeea9803023a66f54de7b596612ea97c3
CRs-Fixed: 2192858
2018-03-05 05:25:21 -08:00
nshrivas
de08617366 Release 5.2.0.68K
Release 5.2.0.68K

Change-Id: I92e57245d60a0958e7cc5ad88f924639f12bf03c
CRs-Fixed: 774533
2018-03-05 04:28:09 -08:00
Sourav Mohapatra
001cfaf94a qcacld-3.0: Extend scan cleanup API to support netdev level cleanup
In the present scenario the function wlan_cfg80211_cleanup_scan_queue
does the code scan queue cleanup during radio detach, leading to access of
freed vdev netdev.

Extend cfg80211 scan cleanup API to support netdev level cleanup. The
second parameter if NULL cleans up all the queues or only the queue of
the specific net dev given.

Change-Id: I2a6b350fe5102b2a5d772dd9a075003ccf3b684c
CRs-Fixed: 2197309
2018-03-05 04:28:09 -08:00
Abhinav Kumar
c93e5ad6c5 qcacld-3.0: Prioritize connection req frames in pe queue
If multiple auth req comes, it added to the header of message queue
but in between mc thread could be processing some beacon frame. while
processing beacon, SAP gets assoc req and adds it to head of message
queue and will be processed first instead of auth req. After sending
of accoc rsp, mc thread will start to process queued auth req, which
is at the top of message queue which will result in deauthentication.

Reverts commit 360c5d590ec8 ("qcacld-3.0: Prioritize connection req
frames in pe queue")

Change-Id: Iaf511be1160e05cfcd9d60f18be4339587308089
CRs-Fixed: 2192836
2018-03-05 04:28:05 -08:00