Commit Graph

22 Commits

Author SHA1 Message Date
Abhishek Singh
c76b71a758 qcacld-3.0: Move Blacklist filter while scoring the BSS
While BSS are scored apply blacklist logic to remove
blacklist AP or move the avoid AP at the end.

Change-Id: Id5310ef53d31159104fd40af6670135bb1be4571
CRs-Fixed: 2725144
2020-07-16 23:46:12 -07:00
gaurank kathpalia
82f3c99fc5 qcacld-3.0: Flush the blacklist BSSIDs in FW
Currently the expectation from the BLM is to flush
all the BSSIDs which are present in the blacklist
when the user does an explicit on-off, which is
meeting the expectation, but the FW does not flush
this info which leads to async between the two.

Fix is to send 0 blacklist BSSID to FW during
Wifi-off so that it also flushes the list.

Change-Id: I7a0629fefb12deaeec0b5eeea06169272621bf82
CRs-Fixed: 2647018
2020-04-01 05:56:59 -07:00
Amruta Kulkarni
5da0deb270 qcacld-3.0: Add wrapper for blm_get_rssi_blacklist_threshold()
If FEATURE_BLACKLIST_MGR is enabled,
wlan_blm_get_rssi_blacklist_threshold()
would return CFG_BLACKLIST_RSSI_THRESHOLD value
else return value 0.

Change-Id: I0cf5a6561cc217412e3bc6e2a50b85985d1315d7
CRs-Fixed: 2648761
2020-03-25 07:08:45 -07:00
Amruta Kulkarni
d7c24f8a19 qcacld-3.0: Add support to handle assoc reject based on rssi
When AP rejects assoc request based on poor rssi
host will put the AP in blacklist mgr list, only when
rssi value improves by threshold value,should the
STA try to connect to AP.

Change-Id: I78009b89ea07afdd5f3381973a9eb7ec1f73d1b5
CRs-Fixed: 2632015
2020-03-19 12:41:56 -07:00
Amruta Kulkarni
e673511908 qcacld-3.0: Change info/err prints to debug in roaming path
In roaming path, while processing roam synch indication info/err
prints at the driver adds up latency to the total roaming
transition time and the KPI for maximum transition time exceeds
the expected 100ms. The printk buffer is protected by a global
raw spinlock for readers and writers. This restricts the contexts that
are allowed to access the buffer. So large latencies exists when
printing to kmsg done with QDF trace levels WARN, INFO, ERROR.

Change the redundant/less significant info, error, warn level
prints in roaming path to debug level.

Change-Id: I8e2a03ddef8f3cd680263939f6e0275b8703e681
CRs-Fixed: 2597624
2020-01-08 20:10:31 -08:00
gaurank kathpalia
628d3ef690 qcacld-3.0: Check for zero/broadcast BSSID in BLM
Currently the BLM does not check the BSSID of
the entry for 0 or broadcast BSSID, and thus
can lead to addition of many entries with such
property.
This would also result in removal of old valid BSSID
entry data, which is essentially required.

Fix is to check the BSSID of the entry for 0
or broadcast, and reject them if not valid.

Change-Id: I2939673a1c4efb1a22e03ffe82121513c071fa4b
CRs-Fixed: 2595331
2020-01-02 08:15:55 -08:00
gaurank kathpalia
e8ca6c6759 qcacld-3.0: Send BLM reject list to FW after connect update
Send the current reject ap list to FW so that the FW too
updates the same in there database to enable roaming if
any AP is removed from the list.

Change-Id: I9c0176a2c4ae970e454f03b577f6fc98af5b62de
CRs-Fixed: 2489448
2019-07-22 06:33:07 -07:00
gaurank kathpalia
b4fd0fea51 qcacld-3.0: Remove driver internal blacklist ap info
Currently the BLM removes the entry if the difference
between connect and disconnect is greater than the
blm bad bssid reset time.
This could lead to removal of those APs also which
are in rssi reject list too.

Fix is to remove the APs if not present in other list
other than avoid, black (driver).

Change-Id: Iae0edbd093546921e36ce4ed511450617e675adf
CRs-Fixed: 2485750
2019-07-09 13:40:44 -07:00
gaurank kathpalia
fc166a1d36 qcacld-3.0: Flush the BLM reject ap list on WIFI-OFF from UI
Flush the reject ap list from the BLM when the user does
a explicit wifi off from the UI to ensure the user is able
to connect next time the wifi is turned on.

Change-Id: Ia8cdd6aa7e3357fc0def100cb13c6e25c1e0a62e
CRs-Fixed: 2470087
2019-07-03 12:08:39 -07:00
gaurank kathpalia
a8376c9680 qcacld-3.0: Fix potential pointer dereference condition
In the API blm_update_ap_info, it may happen that the scan
entry is NULL, and the scan entry pointer maybe dereferenced
in the debug print where the rssi print is there.

Fix is to print the RSSI only when the scan entry is valid.

Change-Id: I3ad973d61a0c11b6a55c8b346d54eb41956882b6
CRs-Fixed: 2469815
2019-06-15 00:26:07 -07:00
gaurank kathpalia
8de8fcb2cf qcacld-3.0: Update the bad bssid reset time in MS
Update the bad bssid reset time in Ms, and compare with the
connection age to remove the BSSID with which the nud fail
has not happened till the mentioned bad bssid reset time.

Change-Id: I6ba58d5e8a110b4c83d5c83e3cec6c832a24094b
CRs-Fixed: 2469969
2019-06-12 16:14:55 -07:00
gaurank kathpalia
d11776adb8 qcacld-3.0: Remove BSSID from BLM reject ap list in disconnect
Remove the BSSID entry from the blacklist manager reject ap list
when the bad bssid counter gets over.

Change-Id: I833d161d97afd5c13a23ae48b1aded38d55b25e4
CRs-Fixed: 2468236
2019-06-11 09:50:51 -07:00
gaurank kathpalia
bf3314357d qcacld-3.0: Set BSSID state as disconnected when roaming is successful
Set BSSID state as disconnected when roaming is successful
so that blacklist manager can clear the AP info if the
nud failure did not come for blacklist reset time value.

Change-Id: Ie602c02d7a43b46daa7f1b1f85cd98628da91280
CRs-Fixed: 2467319
2019-06-09 02:57:00 -07:00
gaurank kathpalia
2bc10dec7a qcacld-3.0: Set remaining duration of BSSID according to type
Set remaining duration of BSSID according to type of
list it is in. For eg. the remaning duration of avoid
list type would be the avoid list timer value minus the
time for which it is in blacklist manager's reject
ap list.

Change-Id: I0f9ed9e04ab6a5fbdc79521b20f0afd8f8028855
CRs-Fixed: 2466191
2019-06-07 11:38:52 -07:00
gaurank kathpalia
bf933ff252 qcacld-3.0: Clear the userspace blacklist info
Clear the userspace blacklist info when a new
command for set blacklist BSSID comes to the driver
even if the userspace sends zero BSSIDs.

Change-Id: Ic2e310359d8e83c0821a0c4c8fedd90e81998627
CRs-Fixed: 2464948
2019-06-05 09:22:13 -07:00
gaurank kathpalia
867e789300 qcacld-3.0: Fill reject ap type in blm fill reject list
Fill the reject ap type as the one requested by the user
in the reject ap list.

Change-Id: Ie26180293e4b0c5c212ebcd31a15fd93f9150f8e
CRs-Fixed: 2464748
2019-06-05 09:22:03 -07:00
gaurank kathpalia
ac8504a703 qcacld-3.0: 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: I4c8283d2c5e4ca66c24a25d31a74026510bb452c
CRs-Fixed: 2464188
2019-06-03 15:24:35 -07:00
gaurank kathpalia
7ef7218496 qcacld-3.0: Add support for roaming in case of NUD failure
Add support for roaming in case the driver
detects a nud failure. The STA then would roam
to another BSSID, else if the roaming gets failed
the STA would remain connected to the same BSSID
as connected before.

Change-Id: Idbc99b0ce2f9cacd97564dd8cf9892120958eda2
CRs-Fixed: 2461675
2019-06-02 01:51:38 -07:00
Abhishek Singh
cf8bedbc4f qcacld-3.0: Send reject ap list to FW
Reject AP list which is maintained by the blacklist manager
has to be sent to the FW for roaming case scenarios, as
the blacklist, and rssi reject APs should not be preferred
in the reassociation.

Change-Id: I58bf90e17653dde2a5042780ba7d57fa3115d63a
CRs-Fixed: 2461230
2019-05-31 21:55:53 -07:00
gaurank kathpalia
1db9525dbf qcacld-3.0: Add logic to add a BSSID in reject ap list
Add logic to add a bssid in the reject AP list maintained
by the blacklist manager. The logic includes addition of
userspace blacklist, avoid list, RSSI reject list,
and not deletion of lowest delta BSSID if the space in the
reject ap list is full.

Change-Id: I0c359f510510582099059fbb9cc098f5a3f91c1b
CRs-Fixed: 2460795
2019-05-31 21:55:48 -07:00
gaurank kathpalia
603aafdacf qcacld-3.0: Add logic to filter scan list with reject ap list
Add logic to filter the bad BSSIDs present in the scan list
with the BSSIDs present in the blacklist manager's reject ap
list.

Change-Id: I3a19be753b64387e251e3a9bc740865bf80251a8
CRs-Fixed: 2460788
2019-05-31 21:55:45 -07:00
gaurank kathpalia
8c943b7df5 qcacld-3.0: Add basic infra, INI, deinit path for BLM
BLM:- Blacklist Manager

Add the basic infrastructure such as target-if, tgt, init,
deinit, ini files, core and main files for the new component
Blacklist Manager.

Change-Id: I624a779ee0dd6be7cb26a911af0aefd426ca9bff
CRs-Fixed: 2460602
2019-05-31 21:55:41 -07:00