커밋 그래프

1036 커밋

작성자 SHA1 메시지 날짜
Shaakir Mohamed
cbc53dd023 qcacmn: Add support for reduced BW-Agile DFS
When the beaconing channel is not affected by radar,
reduce bandwidth of the AP while retaining the beaconing (control) channel.
Since all subchannels were in ISM there is no need to perform CAC.
Random channel selection is run if primary beaconing channel is affected
by radar, wherein CAC will be run for new primary and secondary.

Change-Id: I3c141a02449361e2290086f4c15f7b3eb08c6115
CRs-Fixed: 2284350
2018-08-21 01:51:26 -07:00
gaurank kathpalia
cfd8be4c4c qcacmn: Remove dual beacon MCC check from SCC check case
In the API policy_mgr_dual_beacon_on_single_mac_scc_capable
the check of wmi_service_dual_beacon_on_single_mac_mcc_support
is there too, which in any case is void, as if the driver supports
SCC, then it will return true from the first check itself,
and if it doesn't support SCC, it will surely not support MCC
too, so the check of MCC after SCC is void anyways

Fix is to remove the check of MCC dual beaconing capability from
policy_mgr_dual_beacon_on_single_mac_scc_capable

Change-Id: Ia427be4fcee0e0267171d81cf7e8e669560d20a9
CRs-Fixed: 2299182
2018-08-20 05:29:54 -07:00
Yeshwanth Sriram Guntuka
f3c286ed15 qcacmn: Reduce log level for few prints to debug
Reduce log level for few prints to debug to avoid flooding
of prints to console.

Change-Id: I514585cc87d51ead15fb1f40d45f62023628d9bb
CRs-Fixed: 2296839
2018-08-18 19:17:22 -07:00
Wu Gao
23ae49236f qcacmn: Get next node and then delete current queue
It will delete current node and then get next node by current node,
which cause NULL pointer access.

Change-Id: Ieb1f1fe924d4c86368e340b2482f2ffdb09f301f
CRs-Fixed: 2297087
2018-08-17 10:30:17 -07:00
Jeffin Mammen
31320b31bc qcacmn: Add WMI command for WMM based ATF config
Add new WMI command to support WMM based ATF configuration.
The new WMI command sends the Access category ID and the
corresponding airtime allocation to the firmware.

Change-Id: I7a5fafa6190d779d0fef8982b7b781af54656b19
CRs-Fixed: 2293193
2018-08-17 10:30:02 -07:00
Jeffin Mammen
c17d8ee4d7 qcacmn: Add AC based ATF Scheduler support
Add/Modify functions to support AC based ATF support.
Modify Function pointer declarations and assignments to
comply with the new design.

Change-Id: I17046c4461dc4ba413fd71a4437c0f7cb8997400
CRs-Fixed: 2293193
2018-08-17 10:29:45 -07:00
Om Prakash Tripathi
bf3428b207 qcacmn: Move peer ref id debug support under compile flag
ref id debug support adds an array of atomic_t to peer object which
significantly increases peer object size. Move this debug support
under compile time flag WLAN_OBJMGR_REF_ID_DEBUG to save memory.

Change-Id: I9c14e23078a702419a15ad79eb384cc6727a5ef3
CRs-Fixed: 2293170
2018-08-17 10:29:10 -07:00
Linux Build Service Account
14b27a774b Merge "qcacmn: Fix multiple free of a single memory and memory leak in scan" 2018-08-16 12:04:22 -07:00
Om Prakash Tripathi
c341ca71a1 qcacmn: Fix multiple free of a single memory and memory leak in scan
MBSSID beacon support change 2371483 caused multiple free of
scan_list in failure cases. Also only memory for scan_list was
freed without freeing any scan entries in scan_list.
Fix multiple free of scan_list by multiple functions and free
each scan entry in scan_list before freeing scan_list memory itself.

Change-Id: I113391629f544b7accb9a4d1b7aaea11624e0d6e
CRs-Fixed: 2295311
2018-08-16 06:27:22 -07:00
Shashikala Prabhu
294c9b62c6 qcacmn: Rename dfs timer free function
1. Rename XXX_timer_free() dfs functions as XXX_timer_detach().
2. Remove the code to free precac_nol_list from
   dfs_zero_cac_timer_detach(). This is the redundant code since
   dfs_reset() already frees the precac_nol_list.

Change-Id: I878f396795ce0e5c04af379a6db253d07ca66a83
CRs-Fixed: 2262081
2018-08-15 23:01:00 -07:00
Wu Gao
e90bd0516c qcacmn: Check and then remove tx context from queue
It will remove the tx context firstly and then check whether need to
be deleted, which cause tx context memory leak. So, check the tx
context firstly, and then remove the tx context if need.

Change-Id: Icfe72318ccdd580002d269ffa8082b7f5fa4a341
CRs-Fixed: 2291867
2018-08-14 21:44:23 -07:00
Nirav Shah
1b9674e21e qcacmn: umac: Add logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: I34ba6f6485f9b506264daf4e116052d2858bed40
CRs-Fixed: 2278876
2018-08-14 21:44:21 -07:00
Shashikala Prabhu
fe4a65a733 qcacmn: Fix channel list validation failure
Add frequency range CHAN_5735_5835_8 which has dfs flag set. For ETSI12
regdomain use this freq range instead of CHAN_5735_5835_1.

Change-Id: I40f659c2a92b902e26bd71fc713e00b57a13418d
CRs-Fixed: 2290773
2018-08-14 16:50:22 -07:00
Liangwei Dong
6ca6f83556 qcacmn: Fix 11d non offload issue
If target only support regdb offload but not
support 11d scan offload, the set country code
wmi command needs to be sent to firmware.

Change-Id: Ide69c3f08a14560789f6e53a6013861843b5e974
CRs-Fixed: 2280170
2018-08-14 05:01:13 -07:00
Manikandan Mohan
5c81249094 qcacmn: Add support for converged NAN config params
Update NAN module to support INI configuration params based
on converged CFG component.

Change-Id: I2253daf8cbbce6d2afa28c5834179f21c2b76660
CRs-fixed: 2290357
2018-08-10 20:45:32 -07:00
Aditya Sathish
f78a3d8ca5 qcacmn: Clean up spectral, tif and umac component prints
Clean up spectral, tif and umac component prints by correcting trace
levels for regularly occurring prints and removing newlines from
converged print APIs since qdf_trace_msg appends them by default.

Change-Id: Ib10f1b1c54ecbcb9f4076be7c2c4708359d488e0
CRs-Fixed: 2243843
2018-08-10 18:11:18 -07:00
Kiran Venkatappa
ef65ce37d7 qcacmn: Add TWT requester/responder bits in soc caps
TWT requester/responder capability is reported by FW in service bitmap.
Based on this support set soc's extcap feature bit. This is used while
adding extended capabilities IE to set TWT REQ/RSP bits in IE.

Change-Id: I304e9fa4dc32bd3c2f47901bc34438cb188d138a
CRs-Fixed: 2290026
2018-08-09 16:24:58 -07:00
Arif Hussain
35d89071c2 qcacmn: Refactor cp status callback handlers
Duplicate stats buffer in the callback so that all
allocations get freed by its owner, this will avoid
memory leak issue because of race condition between
umac and upper layer.

Change-Id: Id18d75eb9adc46a6147634eb5b1e0babe32c7c37
CRs-Fixed: 2289355
2018-08-09 14:34:22 -07:00
Liangwei Dong
8b6542bb7b qcacmn: Limit concurrency of STA(WAPI)
When STA role is coexisting with other sessions(P2P, SAP or IBSS),
WAPI encryption mode is not allowed.
Add a new API to check if the connection/start request should
be rejected when:
1) A STA with WAPI encryption is to be connected while there
   is at least one concurrent session already running.
2) A new session is to be started while there is already a STA
   connection with WAPI encryption enabled.

Change-Id: Idf0d346138eeda339254535f1f7131fda4a5086a
CRs-Fixed: 2290549
2018-08-09 06:38:46 -07:00
Abhijit Pradhan
d76fafe548 qcacmn: Reset false radar event variables
When the variable 'false_radar_found' is 1 a set of dfs variables are
supposed to be reset. The reset of the variables are done from within
dfs_radarfound_action_fcc() and dfs_radarfound_action_generic().
However, neither the function dfs_radarfound_action_fcc() nor the
function dfs_radarfound_action_generic() is called when
'false_radar_found' is 1. Therefore, remove resetting of the dfs
variables from the two functions and perform resetting of the
dfs independent of the radar found action.

Change-Id: I120dd8dc7abe13aa9dcaa7a29c10deea06cb8043
CRs-Fixed: 2289775
2018-08-09 04:24:26 -07:00
Abhijit Pradhan
01abdac6a0 qcacmn: Free dfs timers during wifi driver unload
All the dfs timers that are initialized with qdf_timer_init()
must be freed with qdf_timer_free() to avoid the timer leaks.

Change-Id: I5425f0a84d0e252e3a1dc9b835f1b655fe79a691
CRs-Fixed: 2262081
2018-08-08 09:12:03 -07:00
Sandeep Puligilla
54d8b648ad qcacmn: Add support MBSSID feature
Add support to parse Multiple BSSID element
from Beacon and Probe Response frames and to
update the scan database.

Change-Id: If2c58529c4dca3d3866bd7f905d4a1b6983f468a
CRs-Fixed: 2274579
2018-08-07 18:10:41 -07:00
Tushnim Bhattacharyya
511e657dce qcacmn: Do HW mode change based on all the candidate APs for STA
The driver currently changes the hw_mode based upon
the first candidate found in the scan list, and tries
to connect to it. It may happen that the connection
fails, and the STA then tries to connect to the AP
on same channel as the concurrent adapter.
It would result in hw_mode = DBS, as it is not
updated after  connection success/failure.
Also if the first AP channel is in same band as that
of concurrent adapter, and the connection fails,
and the STA tries to connect to an AP in a different
band, this too is not allowed as hw_mode is not DBS

Fix is to change the hw_mode based upon the scan list.
If the driver finds any scan result which may lead to
DBS connection, the hw_mode should be set to DBS.
Once the connection is done or failed, the driver
can check and update the hw_mode again.

Change-Id: I3c186f47dd5528f0af2598bb02c1b7e297d01548
CRs-Fixed: 2290760
2018-08-07 18:10:38 -07:00
Wu Gao
2ff1174914 qcacmn: Update TDLS feature flag when hanling FW ready event
It doesn't update TDLS feature flag when handling FW ready event, and
cause feature mismatch between FW and host. So update TDLS feature
feature flag when updating tdls configures.

Change-Id: Ib5978063581cac0f4c0ebc90f8981a5b68aed1da
CRs-Fixed: 2291311
2018-08-07 10:33:29 -07:00
Tushnim Bhattacharyya
b39e413ac0 qcacmn: Add ENABLE_DBS_CXN_AND_DISABLE_SIMULTANEOUS_SCAN
Add ENABLE_DBS_CXN_AND_DISABLE_SIMULTANEOUS_SCAN option for the ini
gDualMacFeatureDisable. This is to enable DBS support for the
connection and disable simultaneous scan from upper layer. But DBS
scan remains enabled in FW.

Change-Id: Ic280de2cc63a3775c0d9dd61985ff89df58a4a89
CRs-Fixed: 2291935
2018-08-07 00:29:50 -07:00
Shashikala Prabhu
ce86ecdfd3 qcacmn: Add a public API to check if channel is in NOL
Add necessary wrapper functions so that other components/umac
can check if a HT20 channel is in NOL.

Change-Id: Ie2cda1fe8f71d829e261ebdcf4563a4c2ff352ae
CRs-Fixed: 2180879
2018-08-02 18:30:08 -07:00
Ashok Kumar Ponnaiah
07a8aa0379 qcacmn: Added extra check to prevent buffer overflow
Added extra check to prevent buffer overflow pointed out
by static code analyzer tool.

Change-Id: Ieeb3e89089b63eac3dc210447d7ec8e964cd52c9
CRs-Fixed: 2285486
2018-08-02 15:00:33 -07:00
Jeff Johnson
d446afc164 qcacmn: Remove struct extended_caps
struct extended_caps is unused, so remove it.

Change-Id: I96fd072b7d6b58a9c237165fcba7ed8c8da0eae3
CRs-Fixed: 2289156
2018-08-02 15:00:30 -07:00
Tushnim Bhattacharyya
1af76b8c97 qcacmn: Do not invoke get_pcl multiple times during set_pcl to FW
Do not invoke get_pcl when calculating weightage of channels sent to FW
as part of set_pcl WMI command.

Change-Id: I62b39aaf0943cf10deab380d8030d1ef08fbbcb3
CRs-Fixed: 2287649
2018-08-01 12:32:03 -07:00
Shashikala Prabhu
00ffeaf6be qcacmn: Fix channel list validation failure
Mark channels from 5745 through 5865 as DFS channels.

Change-Id: Idd99819e322aa80c376fb098745c3bd39ded743e
CRs-Fixed: 2286686
2018-07-31 00:46:50 -07:00
Dustin Brown
a0e0bbc6b7 qcacmn: Add objmgr check for peer leaks API
During objmgr psoc teardown, it would be useful to assert that there are
no longer any peers attached. Add an API that logs a list of all
peers attached to a given psoc, and panics if any are found.

Change-Id: I30deeba87c5575a17e0b6e3a2a1840e5cfb3f1bf
CRs-Fixed: 2285139
2018-07-31 00:46:48 -07:00
Varun Reddy Yeturu
7174208352 qcacmn: Add feature flags to crypto component
Add below featurization flags to crypto component:
WLAN_CRYPTO_WEP_OS_DERIVATIVE
WLAN_CRYPTO_TKIP_OS_DERIVATIVE
WLAN_CRYPTO_CCMP_OS_DERIVATIVE
WLAN_CRYPTO_GCMP_OS_DERIVATIVE
WLAN_CRYPTO_WAPI_OS_DERIVATIVE
WLAN_CRYPTO_GCM_OS_DERIVATIVE
WLAN_CRYPTO_FILS_OS_DERIVATIVE

Remove the below unused functions:
wlan_crypto_psoc_obj_create_handler()
wlan_crypto_psoc_obj_destroy_handler()
wlan_crypto_pdev_obj_destroy_handler()

Change-Id: Ie2a9a4ca240773dc0d32aa6884b21ee08244829c
CRs-Fixed: 2269826
2018-07-30 16:34:14 -07:00
Jeff Johnson
8ed15d109c qcacmn: Remove session_id from nan_datapath_peer_ind (Step 3)
Currently struct nan_datapath_peer_ind contains the following:
	uint8_t session_id;

This is problematic since "session_id" is a legacy concept and should
not be used in the converged project. Fortunately this field does not
actually serve any purpose. But in order to cleanly remove it a 3-step
approach is required.

Step 1 (qcacld Change If6cf48ccbfe87b23b275720df51c6cc26af9fa5e):
Remove the logic from the converged NAN code which currently reads
this field and logs the value.

Step 2 (qcacld-3.0 Change I2819556d48a9dd901158aaa04d6bda9c36f33012):
Remove the logic from the legacy NAN code which sets this field.

Step 3 (this change):
Remove the session_id field from struct nan_datapath_peer_ind.

Change-Id: Ibeb8007c96ae1a902bfd7dd99a42ba4a291a1dc6
CRs-Fixed: 2284401
2018-07-27 12:35:08 -07:00
Arif Hussain
4c6f33a07e qcacmn: Add 2G channel active dwell time CFG/INI items
Add ini item to configure active dwell time of 2.4GHz band channels,
This will help to reduce AP search failure probability & hence
connection latency in 2.4GHz band channels especially in noisy
condition by increasing active dwell time.

Change-Id: I05259a8f1fd4a5c67da42e516721a01d32fa652e
CRs-Fixed: 2283692
2018-07-27 01:21:39 -07:00
Arif Hussain
7fc2561205 qcacmn: dfs: Fix reset delay line log for bin5 radars
Some dfs domains do not support bin5 radars and bin5 tables
will be null for these domains. So do not log error if number
of bin5 radars are zero.

Change-Id: If9cceae38fa71d1b9b2413f490976ab9f5156086
CRs-Fixed: 2285127
2018-07-26 23:41:16 -07:00
Nirav Shah
87668f872b qcacmn: Add compilation flag for enter/exit macros
Map all enter/exit log macros to enter/exit QDF TRACE macro
to provide option to compile out enter/exit logs if required

Change-Id: I913ef0fb2486fde6b2ec4dfe8465884ca4d66ce4
CRs-Fixed: 2274857
2018-07-25 09:40:54 -07:00
Ashish Kumar Dhanotiya
4b47f374dc qcacmn: Add support to disable channel list
Propagation from prima to qcacmn

Add support to disable channel list received with command
"SET_DISABLE_CHANNEL_LIST".
As part of this command, number of channels and list
of that many channels should be given. When SAP comes up, disable
the channels received in the command. If any of the interface
is up on any of the channel from the list, first disconnect
the interface and start the interface on the new channel.

Change-Id: I3c7810bfde78878a3e60570a13bf2741e1da599b
CRs-Fixed: 2225865
2018-07-25 06:06:00 -07:00
Amar Singhal
937ba5df0c qcacmn: Define DSRC regdomains
ETSI10 and FCC10 regdomains are DSRC regdomains. FCC10 is used by US
and ETSI10 is used by many european countries. Add full country mapping
table for DSRC regdomains. Also separate out channel definitions based on
DSRC.

Change-Id: I0c4c44e7189e88e397c21b2ceada325ce06a88f7
CRs-Fixed: 2271736
2018-07-24 22:18:43 -07:00
Wu Gao
0dfb9b6854 qcacmn: Define the APIs to cleanup roc and tx action by vdev or psoc
Define the APIs to cleanup roc and tx action by vdev or psoc in p2p
component, and remove cleanup task in p2p suspend handler since
scheduler thread in suspend state already.

Change-Id: I4e67e99569f62ee62715dcf7e4c45f136c6f1719
CRs-Fixed: 2283301
2018-07-24 18:53:00 -07:00
Wu Gao
81c80a016f qcacmn: Define configures about TDLS
Based on converged cfg component, define TDLS configures and APIs to
get or set these configures.

Change-Id: I86f61246b810c7f25a74c814df20d0e2c810b292
CRs-Fixed: 2277559
2018-07-24 16:58:37 -07:00
Rajeev Kumar Sirasanagandla
66970850d9 qcacmn: Add WMI layer support for action OUI extensions
Add WMI support to send action OUI extensions to firmware.
For STA interface, this feature is intended to control mode of connection,
connected AP's in-activity time, Tx rate etc.,

Change-Id: I6a0bc9d3f7f0d57805b872cae4baa1fe84fb8193
CRs-Fixed: 2254509
2018-07-24 13:20:42 -07:00
Liangwei Dong
02bcfd6c99 qcacmn: Add Band selection for NSS Update API
Add parameter to NSS Update API to specify
which Band to downgrade/upgrade.

Change-Id: I57ae4304fbf8de366531154f03d04792c18e176d
CRs-Fixed: 2256803
2018-07-24 04:46:26 -07:00
Wu Gao
b974b2df0f qcacmn: Define configures about P2P
Based on converged cfg component, define P2P configures and APIs to
get or set these configures.

Change-Id: I9b0126d9cc71f7de0d255981ba5fe88f3da05ce2
CRs-Fixed: 2277551
2018-07-23 19:18:00 -07:00
Jingxiang Ge
2b64e4d5ff qcacmn: Fix use after free for vdev in tdls
When disconnect happens, TDLS_NOTIFY_STA_DISCONNECTION will be
send to scheduler_thread, in bad case, it is processed after
3s later, and the vdev passed in notify msg has been freed in
the period, invalid vdev causes invalid memory access.

change as below:
 1.1 Get vdev ref before send msg
 1.2 register callback for release ref
 1.3 send msg to scheduler_thread
 1.4 process tdls notify msg and call callback function.

Change-Id: I2b03db8b30db623796f2e8299f14ee31e28efb91
CRs-Fixed: 2275019
2018-07-23 09:41:55 -07:00
Yeshwanth Sriram Guntuka
dad6b5beb3 qcacmn: Change log levels in scan component
Change log level for few scm and cfg80211 logs from info
to debug.

Change-Id: I595ddd54c51a601fa2e985c8a221c5dea2e698d8
CRs-Fixed: 2279511
2018-07-21 12:05:49 -07:00
Rajeev Kumar
8ae6415cba qcacmn: Fix excessive logging from mgmt txrx component
Change mgmt txrx component per rx frame logging to debug
log level to avoid spamming kernel log buffer.

Change-Id: Ib84c789edc8a45d508278728b0cc82f8382f0377
CRs-Fixed: 2282051
2018-07-20 16:24:05 -07:00
Tushnim Bhattacharyya
ac72a4201f qcacmn: Reduce DBS opportunistic timer value to 5 sec
Drop the timeout to 5 sec on hastings as it is a 2x2 DBS solution,
as IOT issues due to frequent 2x2 to 1x1 or 1x1 to 2x2 transition
can be avoided.

Change-Id: I67f9c97a7190baeadba79d709a8773b154932e76
CRs-Fixed: 2281954
2018-07-20 14:58:49 -07:00
Basamma Yakkanahalli
ab48ce3502 qcacmn: Fix connection issue with hidden ssid in DFS channel
Repeater AP failed to associate to Root AP with
hidden ssid in DFS channel.

Normally probe request is sent in passive channels if beacon
from AP is found. With strict passive scan, probe request is
not sent in passive channels even after beacon is found in that
channel.

If AP is configured in hidden ssid, Client/STA does not get the
Probe Response and thus, no SSID information is present in the
scan table to start authentication.

To overcome this, user needs to set the desired {BSSID, SSID} pair,
Example: Desired pair = {00:03:7F:AA:BB:CC, MOON1},
so that when driver receives a beacon it compares the
BSSID and updates the SSID field to update the scan table.

In general, we already set the ssid in sta configuration
But in this case, we also need to configure BSSID of the hidden AP.
This can be configured through iwpriv cmd.
Example: iwpriv athx conf_bssid 11:03:7F:46:03:17

Change-Id: I03e1efed1168c911fc8f6358d6ad8a8c0b40ba61
CRs-Fixed: 2274105
2018-07-20 09:31:14 -07:00
Pragaspathi Thilagaraj
58e4dc7f9b qcacmn: Serialize the command eSmeCommandDelStaSession
The command eSmeCommandDelStaSession issues vdev delete to
firmware. As this command eSmeCommandDelStaSession is not
serialized, this may issue delete vdev before the peers for the
vdev are deleted, resulting in fw assert. Serialization
should be brought in for this command, so that first
eSmeCommandRoam command will do
vdev_stop-->remove_peer-->vdev_down and eSmeCommandDelStaSession
will be processed which will send vdev delete.

Post the command eSmeCommandDelStaSession to the serialization
module and WMA_DEL_STA_SELF_REQ will be posted from the sme
eSmeCommandDelStaSession handler.

Change-Id: I08f5db2d5034a29cd65929d218bf97b464447077
CRs-Fixed: 2280865
2018-07-20 02:02:45 -07:00
Abhiram Jogadenu
c7f6224588 qcacmn: Host changes to enable Scan Offset time
Pass offset value to the Firmware to support split scanning
of total dwell time in smaller chunks. Offset passed is
calculated from TBTT.

Change-Id: I8114acd1147d468aa6471f672307d8ea0ec8611d
CRs-Fixed: 2134748
2018-07-19 04:29:32 -07:00