diff options
author | 2025-01-09 17:10:40 +0100 | |
---|---|---|
committer | 2025-01-13 15:34:08 +0100 | |
commit | 22159143ff99883667f340998cfbb52b4aaac14c (patch) | |
tree | 279e0795e8240f218b991792908524b996ecefc6 /net/wireless | |
parent | wifi: cfg80211: skip regulatory for punctured subchannels (diff) | |
download | linux-rng-22159143ff99883667f340998cfbb52b4aaac14c.tar.xz linux-rng-22159143ff99883667f340998cfbb52b4aaac14c.zip |
wifi: nl80211: fix nl80211_start_radar_detection return value
Since the wiphy_guard changes, rdev_start_radar_detection's return value
in nl80211_start_radar_detection is ignored and we always returned 0.
Fixes: f42d22d3f796 ("wifi: cfg80211: define and use wiphy guard")
Signed-off-by: Nicolas Escande <nico.escande@gmail.com>
Link: https://patch.msgid.link/20250109161040.325742-1-nico.escande@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/nl80211.c | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 39c114265db8..111e47a0dc1a 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -10159,25 +10159,26 @@ static int nl80211_start_radar_detection(struct sk_buff *skb, err = rdev_start_radar_detection(rdev, dev, &chandef, cac_time_ms, link_id); - if (!err) { - switch (wdev->iftype) { - case NL80211_IFTYPE_AP: - case NL80211_IFTYPE_P2P_GO: - wdev->links[0].ap.chandef = chandef; - break; - case NL80211_IFTYPE_ADHOC: - wdev->u.ibss.chandef = chandef; - break; - case NL80211_IFTYPE_MESH_POINT: - wdev->u.mesh.chandef = chandef; - break; - default: - break; - } - wdev->links[link_id].cac_started = true; - wdev->links[link_id].cac_start_time = jiffies; - wdev->links[link_id].cac_time_ms = cac_time_ms; + if (err) + return err; + + switch (wdev->iftype) { + case NL80211_IFTYPE_AP: + case NL80211_IFTYPE_P2P_GO: + wdev->links[0].ap.chandef = chandef; + break; + case NL80211_IFTYPE_ADHOC: + wdev->u.ibss.chandef = chandef; + break; + case NL80211_IFTYPE_MESH_POINT: + wdev->u.mesh.chandef = chandef; + break; + default: + break; } + wdev->links[link_id].cac_started = true; + wdev->links[link_id].cac_start_time = jiffies; + wdev->links[link_id].cac_time_ms = cac_time_ms; return 0; } |