提交線圖

423 次程式碼提交

作者 SHA1 備註 日期
Abhinav Kumar
e288a93d22 qcacmn: Documentation enhancement for wake_lock_in_user_scan
Update kernel doc for wake_lock_in_user_scan to improve
code readability.

Change-Id: I5a7a0fd8cb18d97d293e9896ed58b40a52e06e0c
CRs-Fixed: 2520906
2019-09-16 03:13:38 -07:00
Akshay Kosigi
07df14c270 qcacmn: Move config files out of cmn dev
Move AP specific CONFIG files out of cmn dev

Change-Id: I53adb20ea910c0bc8842daa85cb762d4d3968e45
CRs-Fixed: 2506563
2019-08-19 02:10:57 -07:00
Abhishek Singh
22e58ce9f1 qcacmn: Consider BAND and OCE WAN scores only if congestion is < 75%
Optimize BSS score to consider OCE WAN and Band score only if
congestion is less than 75% (CONGESTION_THRSHOLD_FOR_BAND_OCE_SCORE)

Change-Id: I114032db59be162cad62dfa4cdcd52983f5eec9b
CRs-Fixed: 2505430
2019-08-12 01:27:45 -07:00
Akshay Kosigi
9777087e85 qcacmn: Clean up MAX_BCN_PROBE_IN_SCAN_QUEUE
Clean up MAX_BCN_PROBE_IN_SCAN_QUEUE and add the corresponding
macro values in umac scan ap config file

Change-Id: I34699372b948bc1e2f515048321018e85259e273
CRs-Fixed: 2497518
2019-08-01 06:47:57 -07:00
Tushnim Bhattacharyya
689d670cc9 qcacmn: Clean up CONFIG_MCL for MAX_BCN_PROBE_IN_SCAN_QUEUE
Clean up CONFIG_MCL and add MAX_BCN_PROBE_IN_SCAN_QUEUE
in the defaul_defconfig file.

Change-Id: I5c79ed31609ae67545d7ddf4a649925d1d071b9a
CRs-Fixed: 2495605
2019-08-01 06:47:53 -07:00
Ashish Kumar Dhanotiya
6e7d87df88 qcacmn: Disable ext scan in driver
Currently ext scan is enabled by default in driver which
is increasing driver size significantly and ext scan
is not getting used anymore.
Disable ext scan with feature flag CONFIG_FEATURE_WLAN_EXTSCAN
to reduce driver size and fix related compilation issue.

Change-Id: Id2344e6ed21caefa459773bb6e891ffb1e70cb92
CRs-Fixed: 2491455
2019-07-24 21:43:28 -07:00
Vivek
7047d0d1a5 qcacmn: Replace WIN/MCL from macro names
There are macro defined differenly for WIN and MCL
to pick up default INI value either for WIN or MCL.

The macro name uses WIN and MCL and also enabling the
right macro is controlled by CONFIG_MCL.

Replace the macro with CONFIG_AP_PLATFORM.

Change-Id: Ib5663532d45534cce1715ef06447116e2654e709
CRs-Fixed: 2484959
2019-07-10 07:24:26 -07:00
Akshay Kosigi
aa3385d78d qcacmn: Add new config file for scan params
Add a new file ap_scan config file to store
scan params related to AP, as a part of
CONFIG_WIN cleanup

Change-Id: I195b0cc320bfc3e513a92c6710b003d0a029a510
2019-07-03 08:56:09 -07:00
Liangwei Dong
f1d4eaaa3a qcacmn: Allow full spectrum scan when agile & aDFS scan supported
The old change I7e5a21601642e0d6afef73beeecf80a3e0475909
is missing when new scan mgr introduced, re-design the
change:
Traditionally full spectrum scan on STA/CLI is not
allowed when SAP/GO is already present on DFS channel.
With new generation of hardware, agile scan and
agile DFS scan features are supported which will
allow hardware to do full spectrum scan even if
SAP/GO is present on DFS channel.

Change-Id: I28e034627876b5460f85e74e66d6f4e7b2d5846c
CRs-Fixed: 2470935
2019-06-28 09:40:39 -07:00
gaurank kathpalia
59b6bee259 qcacmn: Allow DBS scan if enabled in ini
Currently the driver checks that DBS for connection
is allowed or not, and on that basis rejects the scan,
but it may happen that FW supports DBS, and DBS for
scan is enabled in the ini, but the DBS for connection
is disabled.
In that case the diver opts for non-dbs scan.

Fix is to allow DBS scan in case of DBS scan enabled in ini.

Change-Id: I080ba4e581a7f77e84a4364237621429bcf91710
CRs-Fixed: 2474580
2019-06-20 11:59:57 -07:00
sheenam monga
d897403241 qcacmn: Fix null scan object dereference in ucfg
Currently, ucfg_scan_register_pno_cb and ucfg_scan_get_scan_id
do not do null validation for scan object which can lead to null
pointer dereference. wlan_psoc_get_scan_obj_fl returns null in case
of invalid component id or null psoc and that null scan object is
dereferenced due to missing null validation.

Add null pointer check for scan object in ucfg_scan_register_pno_cb
and ucfg_scan_get_scan_id. Return zero scan id from ucfg_scan_get_scan_id
in case of null scan object.

Change-Id: I1aa1bdee001cace34e22ca11014455a0c7bcc462
CRs-Fixed: 2468518
2019-06-17 13:00:51 -07:00
Min Liu
b218312e75 qcacmn: Fix interop VHT vendor IE parse error
Currently when parsing interop VHT vendor IE, it will have OOB
read when only VHT cap IE is present.

Try to read VHT op IE only when it is present.

Change-Id: Id1919a0ed1df56ecef54d6cb663c10cbcae5065f
CRs-Fixed: 2453071
2019-06-14 01:49:57 -07:00
gaurank kathpalia
5f6876596b qcacmn: Cleanup the scan blacklist path
Currently with the support of Blacklist manager
component, all the blacklist, avoid list, RSSI-REJECT
list is maintained by the BLM, hence the filter logic
of the blacklist APs in the scan component is not
required.

Cleanup the blacklist BSSID APIs, and related functionality

Change-Id: Ic2f282d9ab7d6d30d87d9718a128cbd8446aff4c
CRs-Fixed: 2464191
2019-06-03 15:24:48 -07:00
Abhishek Singh
0d4275671b qcacmn: If scan is for single channel don't filter the channel
Scan is rejected if single DFS channel is requested with
gEnableDFSChnlScan set to 0.

Fix is to allow single DFS channel scan and not to filter the
DFS channels.

Change-Id: Ifea85c7c85d3ace6cf08984c8c8e8ef00623303c
CRs-Fixed: 2454535
2019-05-21 13:14:29 -07:00
bings
47c737dba8 qcacmn: Add ini to honour NL80211 scan policy flags
Currently dwell time is determined by scan policy flags from kernel.
Sometimes when we suspect the scan result is not full enough, we need
to set dwell time by force through ini.

Add ini to decide whether to honour NL80211 scan policy flags, so that
we can disable dwell time changed by scan policy flag from kernel.

Change-Id: Ia0b9f957a7de901513479522e008e4bcbd6b2c0e
CRs-Fixed: 2428630
2019-05-13 14:41:41 -07:00
Gurumoorthi Gnanasambandhan
d9ee8fd96b qcacmn: Add option to set high priority scan
For enhanced  repeater independent mode scan request
from wpa_supplicant needs to be set in high priority scan.

Change-Id: I4f95d0e7b2f1d9eb68ed14efd4ee3932ced5af61
CRs-Fixed: 2432916
2019-05-10 16:28:44 -07:00
gaurank kathpalia
c2dac1c92b qcacmn: Add filter logic according to timestamp in scan
Currently the driver does not have any mechanism to filter
out the scan results according to the age.

Add a logic in the scan filter API, to filter out the scan
result according to the age threshold, so that APs which
are older than a particular value are filtered out.

Change-Id: If3f4b372b28a0f75b1d70915df4e3e1a7e518931
CRs-Fixed: 2447988
2019-05-09 04:59:10 -07:00
Pragaspathi Thilagaraj
45a8c1e41f qcacmn: Support adaptive 11R BSS in scan
Adaptive 11r is a feature by which the network supports 11r
even though the bss doesn't advertise 11r. This is done with the
help of advertising vendor specific adaptive 11r IE and MD IE
in the beacon/probe. When vendor specific adaptive 11r
IE (oui 0x00 40 96 type 0x2C) is present in the beacon/probe,
and 1st bit of the IE data is  set to 1, then the BSS supports
adaptive 11r.

The BSS advertises, non-11r akm in RSN IE and user space will
send the 11r akm in the connect start. So the scan module
shouldn't filter out the candidate adaptive 11r supported BSS
with AKM mismatch reason.

Add changes in scan module to parse the Vendor specific adaptive
11r IE and copy it to the scan_entry ie_list. Check if
negotiated akm is non-11r akm, and the filter akm sent from csr
is a 11r akm (which is received from user space), then mark the
bss as matching.

Change-Id: I65f32c67016ad634f1592a7453e77aaf0c5a327c
CRs-Fixed: 2431074
2019-05-02 08:16:11 -07:00
Bala Venkatesh
2864718af8 qcacmn: Update comments in scm_req_update_concurrency_params
Update the commment sections in function
scm_req_update_concurrency_params and
wlan_util_get_mode_specific_peer_count.

Change-Id: I076beddacb6efa10f78a1d850f9b74886e9cdcdc
CRs-Fixed: 2439552
2019-04-29 01:44:40 -07:00
gaurank kathpalia
5ba222aea6 qcacmn: Modify scan type for RRM scan request
Currently in the case of concurrent sessions running,
the driver updates the active dwell time for the scan
request to the default value, overwriting the already
filled active dwell time which the DUT got from the
AP as part of RRM request, which results in violation
of protocol.

Fix is to not update the concurrency params if the scan
request is of type RRM.

Change-Id: Ifbb4b45fc111851f544fd39187e4113bda5f7348
CRs-Fixed: 2436893
2019-04-27 01:01:53 -07:00
Bala Venkatesh
d0838f8a9c qcacmn: Restrict dwell time only if SAP/GO is connected
Currently, in case of SAP/GO present active dwell time of scan req
on STA iface is restricted. This can result in less scan time but
STA can miss some AP's. So, decrease dwell time only if some client
is connected to SAP or GO.

Change-Id: I46fb76792941b7c79f541b8b358d02bb944f0086
CRs-Fixed: 2436910
2019-04-19 01:57:01 -07:00
Abhishek Singh
a7bfb9b1b4 qcacmn: Remove repetitive logs for mem alloc failure in scan
Qdf alloc api print the log in case of alloc failure and thus
the caller doesn't need to print the error again.

Remove the repetitive logs from wlan_scan_process_bcn_probe_rx_sync
and tgt_scan_bcn_probe_rx_callback. And fix check patch errors.

Change-Id: Ia340b71b5b476339d2ffe68b287b894ff6b532e8
CRs-Fixed: 2435932
2019-04-19 01:56:57 -07:00
Abhishek Singh
bd80d5c8ba qcacmn: API to add scan entry without posting to scheduler thread
Add an API to add scan entry without posting it to scheduler thread.
This will be used to update the beacon/probe during roaming to new AP.

Change-Id: Ia53ba194032eb953c5b102b0cc406db12e58f42d
CRs-Fixed: 2435404
2019-04-15 16:34:20 +05:30
Om Prakash Tripathi
0e3c541835 qcacmn: Change log level to debug for "Failed to create a scan entry"
Its pretty common to simulate malformed beacon/brobe response
frames leading to print "Failed to create a scan entry".

Change-Id: Id89c4e66f0ac449b02e774067932e65d1da9ddc8
CRs-Fixed: 2431173
2019-04-11 12:38:46 -07:00
Bala Venkatesh
f96d9cf159 qcacmn: 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: 2426092
2019-04-05 08:37:35 -07:00
sheenam monga
bd70fd0a52 qcacmn: Handle DFS AP's in scan result
if gEnableDFSChnlScan is zero and scan channel list
contains only DFS channel, all DFS channels are
skipped and thus number of channel become zero.
When scan req is sent to firmware with zero
channel, it scan all valid channels which contain
DFS channels as well.With gEnableDFSChnlScan set to
zero, no DFS channels should be scanned.

Fix is to reject the scan request if number of
channels become zero after filtering invalid
channels.

Change-Id: Ife5c0f0e3173197b43809f63ca95281d815a2c3c
CRs-Fixed: 2419126
2019-03-29 21:59:08 -07:00
Abhinav Kumar
7d41a1740a qcacmn: Set default passive Dwell time to 110 msec
In order to minimize the probability of beacon miss,
increase default passive Dwell time to 110 msec.

Change-Id: I98b0f9a68787638787a45b9179dfeb9826777cde
CRs-Fixed: 2425379
2019-03-29 11:05:58 -07:00
Jeff Johnson
82eb21292d qcacmn: scan: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within umac scan replace any such comparisons with
logical operations performed on the pointer itself.

Change-Id: I0127e39fb4278e9c8063e2b37e7b46a9311defe7
CRs-Fixed: 2420153
2019-03-26 17:16:52 -07:00
Priyadarshnee S
8202412c0d qcacmn: Rename "dfs_freq_is_in_nol" to "dfs_is_freq_in_nol"
Rename "dfs_freq_is_in_nol" to "dfs_is_freq_in_nol"

CRs-Fixed: 2417878
Change-Id: Iedd79e9ea51a84d0458e643ddafa2797ed5f337c
2019-03-26 10:30:24 -07:00
Sandeep Puligilla
949faf5f4d qcacmn: Add mbssid information to scan entry
Add MBSSID information to scan entry.

Change-Id: Icf1a61f37db4991c5ad8f8e5dc2d5f55252c98aa
CRs-Fixed: 2399996
2019-03-18 17:07:10 -07:00
Om Prakash Tripathi
b3a341bb6f qcacmn: Fix possible null pointer dereference
Fix possible null pointer dereference glagged by static analysis

Change-Id: I100619888318182c19300bcbbcd95e9c68efe8a5
CRs-Fixed: 2417910
2019-03-18 11:16:52 -07:00
Sandeep Puligilla
fa3c826f3a qcacmn: Initialize connected scan cfg item
Initialize the connected scan cfg item during
scan module init.

Change-Id: I93e379c4abded42cac58b0140c9a2698dd657c24
CRs-Fixed: 2415534
2019-03-15 01:18:46 -07:00
Harprit Chhabada
d5cdb2b39b qcacmn: Clean up CONFIG_MCL for scan related macros
Clean up CONFIG_MCL and add all below scan
related macro in the defaul_defconfig file.
Macros related to WIN will be part of WIN Kbuild.

MAX_SCAN_CACHE_SIZE 300
SCAN_MAX_REST_TIME 0
SCAN_MIN_REST_TIME 0
SCAN_BURST_DURATION 0
SCAN_PROBE_SPACING_TIME 0
SCAN_PROBE_DELAY 0
SCAN_MAX_SCAN_TIME 30000
SCAN_NETWORK_IDLE_TIMEOUT 0
HIDDEN_SSID_TIME (1*60*1000)
SCAN_CHAN_STATS_EVENT_ENAB (false)

Change-Id: I9c8cb010111c6255309f36209cabc011e32f3f0f
CRs-Fixed: 2412734
2019-03-13 19:41:33 -07:00
Santosh Anbu
73f3f09abf qcacmn: Fix type for wlan_serialization_cmd_callback
Fix the type for nan_serialized_cb and remove unnecessary
type casts from other callbacks.

Change-Id: Ie4e45f5a7e9fc17eb1c45fa18160e3bbd47151fe
CRs-Fixed: 2402989
2019-03-12 06:10:08 -07:00
Sandeep Puligilla
eb272d02d5 qcacmn: Refactor SCAN CFG item
Refactor CFG items
1. CFG_ENABLE_CONNECTED_SCAN
2. CFG_ENABLE_SNR_MONITORING

Change-Id: Ic7c995a3f2310df72841e2b99e01972ca50e2e01
CRs-Fixed: 2405697
2019-03-08 07:39:41 -08:00
Abhishek Singh
7062efab4c qcacmn: Fix Connection issue when AP change from hidden to non-hidden
If AP change its status from hidden to broadcasting SSID in its beacon
kernel drop the beacon entry as its confusing. Now during connection
driver try to update the entry in kernel and it fails and as kernel drop
the beacon the connection fails.

To fix this detect if AP changed its ssid type from hidden to
broadcasting and unlink the old bss from kernel in that case.

Change-Id: I10ec42749ebcd2ddea23f7f3a94d862124df156d
CRs-Fixed: 2410430
2019-03-07 20:47:10 -08:00
Priyadarshnee S
ab2a46185c qcacmn: Remove NOL channels from the scan channel list sent
Consider a WDS Repeater(RE) connected to the Root on a DFS channel and
reverse CSA is enabled. When RE detects radar, it adds the radar infected
channel to its NOL list and it informs the Root of the radar detect. Let
the target channel chosen by the Root be a DFS channel.The RE on receiving
the RCSA, brings down the STA vap and begins to scan again.
The scan is initiated from the supplicant (wlan_cfg80211_scan) and it
provides all the supported channels including the NOL channels.
(supplicant is unaware of the radar detect and NOL channels).
As the scan channel list sent to the FW includes NOL channels, FW reports
DFS SCAN VIOLATION and all DFS channels are blocked in RE.
The supplicant keeps sending the same scan list but scan is never
successful and thus the RE does not connect back to the Root.
To fix the DFS violation, remove the NOL channel(s) from the scan channel
list before sending the list to the FW.

Change-Id: I62090e381c11fab78ab1ee920da77f3603f48eaf
CRs-Fixed: 2405532
2019-03-06 05:07:40 -08:00
Om Prakash Tripathi
510a27c966 qcacmn: Fix static analysis invalid pointer dereference
Fix possibility of invalid pointer dereference pointed by
static analysis tool.

Change-Id: I9b682c44b2a1150015795a6cd497463eb7e3efd5
CRs-Fixed: 2407728
2019-03-05 05:36:46 -08:00
Madhvapathi Sriram
b73fc282d8 qcacmn: Remove error log for qdf_mem_malloc in umac files
qdf layer already has the error trace

Change-Id: I2ea22fe0e3e59b9d41ac21142615ffb96227abaf
CRs-Fixed: 2376418
2019-03-04 07:30:21 -08:00
Bala Venkatesh
fbf6d922d6 qcacmn: Skip DFS channels in p2p scan
Add support for the INI gSkipDfsChannelInP2pSearch
to remove the DFS channels from the given scan list in
p2p scan.

Change-Id: I44a6208ab5f3ee062073550143e23e5800342376
CRs-Fixed: 2405191
2019-02-28 18:35:49 -08:00
Pragaspathi Thilagaraj
17810df306 qcacmn: Add support for FT SAE and FT Suite-B
Previously host driver only supports initial SAE and Suite-B
authentication types and roaming to SAE AP is blocked. The
802.11 specification has introduced the Akm suite 00:0F:AC:9 for
FT-SAE and 00:0F:AC:13 for FT Suite-B akm type. Add support for
FT-SAE and FT-Suite-B.

Extend the enum wlan_auth_type to include WLAN_AUTH_TYPE_FT_SAE,
WLAN_AUTH_TYPE_FT_SUITEB_EAP_SHA384. This enum wlan_auth_type is
the new implementation for akm type in converged scan module
corresponding to the legacy eCsrAuthType enum.

Add changes in scan module filter to support FT-SAE and
FT-Suite-B authentication suites be added to filter->auth_type.
csr_scan_get_result() will translate the legacy eCsrAuthType
to wlan_auth_type and push it to the filter->auth_type.

Change-Id: I74d7b0be74d33ced5d3e528032aec6e057a75ff3
CRs-Fixed: 2400683
2019-02-27 09:56:03 -08:00
Om Prakash Tripathi
feecb9f343 qcacmn: Pass milliseconds instead of jiffies to qdf_wait_single_event
qdf_wait_single_event expects milliseconds to passed but instead
jiffies were passed making actual wait time smaller than expected.

Change-Id: I920d7183e30dd4490b64c6ae9875811db57183f3
CRs-Fixed: 2401129
2019-02-25 17:17:14 -08:00
Wu Gao
45c6576e42 qcacmn: Format ini descriptions about EGAP
The description about EGAP ini items is different to others, correct
them and use unified form.

Change-Id: I119721ad805cdbc2b3515eadafa36bdb35a4eb2c
CRs-Fixed: 2402450
2019-02-25 12:45:09 -08:00
Bala Venkatesh
7f726aa21a qcacmn: Add ini parameters to control the burst duration
Add ini parameters to control the scan burst duration in STA, SAP
and GO cases.

Change-Id: Ib9f0cdae660b6d425887fefebf9e64f9ac977593
CRs-Fixed: 2398746
2019-02-15 14:46:46 -08:00
Pragaspathi Thilagaraj
1e618d6444 qcacmn: Refactor legacy ini items
Refactor the below ini item to new converged cfg/ini
infrastructure:
CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_NAME

CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_NAME - move this to scm module

Change-Id: I2980b2f3f1f451c99ceb19df87fd254a0c919c9b
CRs-Fixed: 2394241
2019-02-11 07:38:31 -08:00
Abhishek Singh
4122f5dd4c qcacmn: Add debug info if scan filter fails to match the BSS
In driver there is no debug info printed  in case a scan filter
fails to match the BSS even when SSID and BSSID match for the BSS.

Thus add debug info for the cases where the BSS is rejected due
to blacklist, security profile mismatch etc.

Change-Id: I8218f4fe1a64803dc4641be9b66e58301bd6b15b
CRs-Fixed: 2395356
2019-02-08 10:30:23 -08:00
Pragaspathi Thilagaraj
522a2a90bd qcacmn: Move PNO related structures under compiletime flag
Move all the PNO related structures and CFG items under
compile time flag "FEATURE_WLAN_SCAN_PNO"

Change-Id: I0decb3e0a7cf009ce18ef08eae05734962f6f8c7
CRs-Fixed: 2382997
2019-02-08 04:03:44 -08:00
Abhishek Singh
cd0a9fdcd8 qcacmn: Move scan req modification logic to scan core to ucfg
Move the scan req modification logic to scan core from ucfg layer.

Change-Id: I92d7bc6ed41761fd6cd4a602ab3c5852e8121dd8
CRs-Fixed: 2393496
2019-02-06 11:16:31 -08:00
Pragaspathi Thilagaraj
9d9a3c492c qcacmn: Refactor scan related ini items
Refactor the following scan related ini items to scan module:
CFG_ENABLE_MAC_ADDR_SPOOFING - ini to enable/disable scan mac
randomization
CFG_SCAN_AGING_TIME - configure scan entries aging time.

Previously these values are populated in hdd and passed to
scan module through ucfg_scan_update_user_config() function.
With new cfg infra, the scan module can directly get these
values from cfg component.

Change-Id: I0dcbd8253ae46387dd44e68c86f0622f279ba501
CRs-Fixed: 2378985
2019-02-05 18:01:22 -08:00
Sandeep Puligilla
da4a452492 qcacmn: Fix MBSSID scan IE parse failure
Failed to generate Non-Tx BSS scan entry due
to corrupted non-tx beacon IE.

Fix the sequence of fields need to be copied to generate
the new non-tx scan entry.

Change-Id: I6ed8773fb0efe6193c954f4963c364b9d8bf1960
CRs-Fixed: 2386423
2019-02-04 17:52:31 -08:00