Problem:
During wifi up/down, dfs_init_precac_list() is called to initialize
the precac list without de-allocating the previously allocated memory.
This leads to a memory leak.
Solution:
Deinit the allocated memory before initializing the precac list.
Change-Id: I7eee38fbc3c50f37ac0c6670b5bfe4b5a1b2d9f6
CRs-Fixed: 2140042
Replace all instances of %p with %pK in DFS component, so that
kernel pointers are hidden from unprivileged users.
Change-Id: Ia10971516bf962287af9ff8dce873888500a01a1
CRs-fixed: 2133321
Header files are included in appropriate places to avoid compilation
errors. To disable/enable DFS component from non-common code at
compile time, use macro QCA_DFS_COMPONENT_ENABLE in config file.
Change-Id: I0d4fe27ee0d76412c109aa3f64485ea1ac2a5e3a
CRs-Fixed: 2134355
Removed WIN based random channel selection algorithm.
To choose a new random channel, use converged random
channel algorithm.
Change-Id: I0ece0cb71ffeb694c9f5264d97a25e49d59b1ae8
CRs-Fixed: 2120265
1) Add support to use new random channel selection algorithm
from converged DFS component.
2) Move random channel filtering flags from dfs_internal.h to
dfs_ioctl.h as these flags are common between MLME and DFS
component.
Change-Id: I5ef789dd9e9c28706f1c581997a646a80caec5ee
CRs-Fixed: 2120265
Fix for AP to ignore the CAC complete event from firmware on WIN side,
during bring up on DFS channel, thereby not beacon during CAC.
Change-Id: I60107a9c571e6c6a64fb16c3f8884a7b7d32150d
CRs-fixed: 2122316
Changes related to If63678a7e9ce00c1166e7f6533e5eaa0b0ae67a5
on modifying declaration of dfs_mlme_start_csa function on mlme side.
Change-Id: Id746faaaa2cdbdb48f80056eec3dd661a30122e5
CRs-fixed: 2117811
Adds support to dump dfs pulse information from firmware to host
for debug purpose.
Change-Id: I3b2042f8df6e077eed1a3847cd2d8550794bc6f7
CRs-fixed: 2121833
Add support for bangradar command to send unit test command
to firmware as a hook to simulate radar injection
Change-Id: Ieaa7eab6d452ab864a10beca1478d0e61d605107
CRs-fixed: 2113724
In fulloffload mode, based on the value of the usenol variable decide
whether to add the channel to NOL or not. In future, we need to merge
this code with non-full offload. That will remove redundant code.
Change-Id: I2bb403c3983a4a1eac906e6c13a3ec6a13fdc436
CRs-fixed: 2102829
* Initialize the radar table based on dfsdomain for country
KOREA and CHINA.
* Move UMAC related APIs from lmac_api.c to utils_api.c file.
Change-Id: I9dc2acdf23fc10469884d23bb91f352d2ac259ca
CRs-Fixed: 2110760
1) Define logging(alert, err, warn, info, debug) on top of
QDF abstractions for DFS component.
2) Use dfs_info for important prints such as CAC timeout,
NOL timeout, enable/disable radar etc.
3) For everything else use dfs_debug macro.
Change-Id: Id1efc12dd00e7b3f2b8d5627c65f58e619438c82
CRs-Fixed: 2116421
Reverse CSA:
===========
Problem:
When Repater detects the RADAR, it sends RCSA to RootAP and
immediately switches to a new channel without waiting for CSA
from Root AP.
Expected behaviour:
When Repeater detects the RADAR, if uplink is present then it sends
RCSA to RootAP and waits for 2secs to receive CSA. If Repeater
does not receive CSA in 2sec, choose a random channel and
bring up the AP vap.
Solution:
In Repeater, if RCSA is sent successfully to RootAP then wait for
2secs to receive CSA from Root else choose a random channel and
bring up the vaps.
Change-Id: Ica204981db85917554c06cd86c0e016df624c45f
CRs-Fixed: 2104219
In Repeater AP scenario, when STA vap starts scan, it calls this
registered DFS callback function to get the AP CAC status. If the
AP vap is performing CAC, STA vap does not start SCAN.
Change-Id: Ifa3ad0298f1b04f3fffc915f20ff81ec0cc731bf
CRs-Fixed: 2096259
Analysis:
dfs_nol_timer_cleanup() calls dfs_nol_update(), which internally
calls a legacy function to update the scan channel list and sends
a WMI command to FW. However, from WIN side dfs_nol_timer_cleanup()
is also called after target stop, which leads to a kernel panic.
Solution:
Call dfs_nol_update() prior to target stop.
Initalize precac channel list during dfs reset.
Change-Id: If856d436ad215efa46cfc166d95bf3ccb4e7bf99
CRs-Fixed: 2096256
Currently only one connection information corresponding to the
provided mode is deleted and restored, which causes channel
selecting failure in DFS testing with AP+AP concurrency mode.
When radar is found in AP+AP concurrency mode, a new valid channel
should be selected. Before selecting the channel, all existing
connection information of SAP mode should be deleted, otherwise
no valid channel can be selected.
All the connection information corresponding to the provided mode
should be deleted and restored.
Change-Id: Id363dbb2c31485fefcd6915696060923063079bb
CRs-Fixed: 2079597
It is possible to use host based cac timer even for the dfs
offload, So make sure to do all initialization for cac timers.
Also store dfs offload flag in dfs component.
Change-Id: Id30730fb1f84285e225c4221fde9846fbfd960cc
CRs-Fixed: 2069362
Due to dfs and 'ic' flag mismatch, ieee80211_find_channel()
was returning channel as NULL.
Change-Id: I2c8a09b5a1018d7daf2a925bcad7063a6b0e2988
CRs-Fixed: 2067959
As part of DFS component destroy, "ic" is accessed to reset
NOL list and PRECAC channel list, but "ic" is already deleted
as part of MLME component destroy. And therefore invalid memory
access happens.
Reset NOL list and PRECAC channel list before "ic" deletion.
Change-Id: I1dbf273f1ea51945493140bfce9bfa116ad0c488
CRs-Fixed: 2071164
In worst case, different pdevs can be in different countries and
hence different reg-domains. Also there could be differences due
to front-haul and back-haul.
Change-Id: Ib9e998b5f7de4e42a1736d07e9e5602d8506e7b6
CRs-Fixed: 2048784
Remove psoc/pdev locks from trivial API's. This follows the changes from
which the lock requirement from few simple APIs are removed.
Change-Id: Ib5769c2234c8d57f485c0eef5a4e3c61fa170508
CRs-Fixed: 2060880
In DFS component the prefix "ic_ " was being used to represent ieee80211
channel related variables. Now use prefix "dfs_ch_" instead of "ic_".
Change-Id: I2f739dc22ad89b7e410c06462876a22c2a615883
CRs-Fixed: 2056957
Get the dfs domain from reg component instead of using it from
offload or lmac layer.
Change-Id: I3007ac483c44723b13a0af22df6eb56deac4c7ed
CRs-Fixed: 2047212
Fix Werror=frame-larger-than by reducing size
of DFS_MAX_NOL_CHANNEL from 128 to 80.
Change-Id: I37271a48bf5172c3fb2d568b58e8f7448bf4ed28
CRs-Fixed: 2017481
Add support to conside auto-channel selection range in random channel
selection algorithm.
If acs is enabled, random channel is selected from acs channel range.
Change-Id: I6ccf9ae58aa2d9b63133de3f98030078bf13cf49
CRs-Fixed: 2017481
Need to pass valid weight list and length to pcl api to
get channel list. So pass valid weight list and length.
Change-Id: Id9582210937da1dd5147aa3e85e0cd0df6b5ac90
CRs-Fixed: 2017481
dfs_detach function was called from ol/lmac layer during ath_detach.
To fix the memory leak dfs_detach function called from dfs pdev
destroy function.
Change-Id: I41602c17ac9ab0b6eb1e9fbe9abe764d00ed0e93
CRs-Fixed: 2001106