diff options
author | Luciano Coelho <coelho@ti.com> | 2011-07-08 04:16:16 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-07-08 11:47:54 -0400 |
commit | 1a84ff7564ae43dd1ea20e17f867de2700ca5b5b (patch) | |
tree | d49c7eece59a016b2bdf9c43bc86bfcd46472708 | |
parent | 331c5ea2d92c76bfe58a9bb5e6d21160850a29bc (diff) |
cfg80211: return -ENOENT when stopping sched_scan while not running
If we try to stop a scheduled scan while it is not running, we should
return -ENOENT instead of simply ignoring the command and returning
success. This is more consistent with other parts of the code.
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | include/linux/nl80211.h | 3 | ||||
-rw-r--r-- | net/wireless/scan.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index 3ec2f949bf7a..8cb025a00094 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -247,7 +247,8 @@ | |||
247 | * passed, all channels allowed for the current regulatory domain | 247 | * passed, all channels allowed for the current regulatory domain |
248 | * are used. Extra IEs can also be passed from the userspace by | 248 | * are used. Extra IEs can also be passed from the userspace by |
249 | * using the %NL80211_ATTR_IE attribute. | 249 | * using the %NL80211_ATTR_IE attribute. |
250 | * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan | 250 | * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT |
251 | * if scheduled scan is not running. | ||
251 | * @NL80211_CMD_SCHED_SCAN_RESULTS: indicates that there are scheduled scan | 252 | * @NL80211_CMD_SCHED_SCAN_RESULTS: indicates that there are scheduled scan |
252 | * results available. | 253 | * results available. |
253 | * @NL80211_CMD_SCHED_SCAN_STOPPED: indicates that the scheduled scan has | 254 | * @NL80211_CMD_SCHED_SCAN_STOPPED: indicates that the scheduled scan has |
diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 5d23503dd5e0..ce04566a2ecc 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c | |||
@@ -137,7 +137,7 @@ int __cfg80211_stop_sched_scan(struct cfg80211_registered_device *rdev, | |||
137 | ASSERT_RDEV_LOCK(rdev); | 137 | ASSERT_RDEV_LOCK(rdev); |
138 | 138 | ||
139 | if (!rdev->sched_scan_req) | 139 | if (!rdev->sched_scan_req) |
140 | return 0; | 140 | return -ENOENT; |
141 | 141 | ||
142 | dev = rdev->sched_scan_req->dev; | 142 | dev = rdev->sched_scan_req->dev; |
143 | 143 | ||