diff --git a/net/wireless/chan.c b/net/wireless/chan.c index 167e7cb60089d348135543441a2dc810e71ce25b..019401b0b5e3029a994ed70233b276f8cbc4a6ef 100644 --- a/net/wireless/chan.c +++ b/net/wireless/chan.c @@ -85,6 +85,8 @@ int cfg80211_set_monitor_channel(struct cfg80211_registered_device *rdev, if (!rdev->ops->set_monitor_channel) return -EOPNOTSUPP; + if (!cfg80211_has_monitors_only(rdev)) + return -EBUSY; chan = rdev_freq_to_chan(rdev, freq, chantype); if (!chan)