cfg80211: Fix radar event during another phy CAC
authorOrr Mazor <orr.mazor@tandemg.com>
Sun, 22 Dec 2019 14:55:31 +0000 (14:55 +0000)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 15 Jan 2020 08:50:48 +0000 (09:50 +0100)
commit26ec17a1dc5ecdd8d91aba63ead6f8b5ad5dea0d
tree24de833c60be7e76017acd3d37733c16409c2633
parentc4b9d655e445a8be0bff624aedea190606b5ebbc
cfg80211: Fix radar event during another phy CAC

In case a radar event of CAC_FINISHED or RADAR_DETECTED
happens during another phy is during CAC we might need
to cancel that CAC.

If we got a radar in a channel that another phy is now
doing CAC on then the CAC should be canceled there.

If, for example, 2 phys doing CAC on the same channels,
or on comptable channels, once on of them will finish his
CAC the other might need to cancel his CAC, since it is no
longer relevant.

To fix that the commit adds an callback and implement it in
mac80211 to end CAC.
This commit also adds a call to said callback if after a radar
event we see the CAC is no longer relevant

Signed-off-by: Orr Mazor <Orr.Mazor@tandemg.com>
Reviewed-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Link: https://lore.kernel.org/r/20191222145449.15792-1-Orr.Mazor@tandemg.com
[slightly reformat/reword commit message]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/cfg80211.h
net/mac80211/cfg.c
net/wireless/rdev-ops.h
net/wireless/reg.c
net/wireless/trace.h