cfg80211: do not pass -EALREADY to userspace on regdomain change request
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Mon, 26 Jan 2009 17:00:51 +0000 (09:00 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 29 Jan 2009 21:01:50 +0000 (16:01 -0500)
If the regulatory domain is already set it is technically not an error
so do not pass an errno to userspace.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/wireless/nl80211.c

index 09a5d0f..e69da8d 100644 (file)
@@ -1908,6 +1908,11 @@ static int nl80211_req_set_reg(struct sk_buff *skb, struct genl_info *info)
        mutex_lock(&cfg80211_drv_mutex);
        r = __regulatory_hint(NULL, REGDOM_SET_BY_USER, data, 0, ENVIRON_ANY);
        mutex_unlock(&cfg80211_drv_mutex);
+       /* This means the regulatory domain was already set, however
+        * we don't want to confuse userspace with a "successful error"
+        * message so lets just treat it as a success */
+       if (r == -EALREADY)
+               r = 0;
        return r;
 }