qca-wifi: Restart agile DFS in vdev start response after radar

If radar is found on primary channel, aDFS channel change is triggered
immediately after marking the primary channels as NOL. This may result
in picking the channel that the AP may come up in, for agile DFS.

To avoid running aDFS on the pdev's current channel, restart
agile DFS engine after new channel is selected, in vdev response.

Also, consider the scenario where the device has two DFS pdev objects.
When the API "dfs_prepare_agile_chan" is called to start preCAC, it
uses a round-robin logic to pick a DFS object for preCAC and
the preCAC timer maybe started for a different dfs object than the
one calling it (argument of the function). But the channel width of
the preCAC channel is always fetched from the dfs object calling
the API, which may result in wrong channel width sent in adfs_start
command.
Use temp_dfs structure (indicating the DFS object picked for preCAC)
to fetch the channel width, instead of fetching it from the dfs
object passed as argument to the function.

Change-Id: I243cf978b3caaadb771eb9a5e0cf83f7ac82c876
CRs-Fixed: 2515440
1 file changed
tree: 63672211e9d39c11a5a3b59709622470933eea43
  1. configs/
  2. crypto/
  3. direct_attach/
  4. dp/
  5. qal/
  6. target_if/
  7. tools/
  8. umac/
  9. wmi/