PERFORCE change 136313 for review
Sam Leffler
sam at FreeBSD.org
Wed Feb 27 01:29:25 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=136313
Change 136313 by sam at sam_ebb on 2008/02/27 01:29:05
use EOPNOTSUPP for all requests that are rejected because the
underlying device is not capable; there are so many cases of
EINVAL that it's important to disambiguate these cases
Affected files ...
.. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#32 edit
Differences ...
==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#32 (text+ko) ====
@@ -1535,7 +1535,7 @@
int isbss, ac;
if ((ic->ic_caps & IEEE80211_C_WME) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
isbss = (ireq->i_len & IEEE80211_WMEPARAM_BSS);
ac = (ireq->i_len & IEEE80211_WMEPARAM_VAL);
@@ -2531,7 +2531,7 @@
break;
case IEEE80211_POWERSAVE_ON:
if ((vap->iv_caps & IEEE80211_C_PMGT) == 0)
- error = EINVAL;
+ error = EOPNOTSUPP;
else if ((vap->iv_flags & IEEE80211_F_PMGTON) == 0) {
ieee80211_syncflag(vap, IEEE80211_F_PMGTON);
error = ERESTART;
@@ -2566,7 +2566,7 @@
break;
case IEEE80211_IOC_TXPOWER:
if ((ic->ic_caps & IEEE80211_C_TXPMGT) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
if (!(IEEE80211_TXPOWER_MIN <= ireq->i_val &&
ireq->i_val <= IEEE80211_TXPOWER_MAX))
return EINVAL;
@@ -2605,7 +2605,7 @@
case IEEE80211_IOC_COUNTERMEASURES:
if (ireq->i_val) {
if ((vap->iv_flags & IEEE80211_F_WPA) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
vap->iv_flags |= IEEE80211_F_COUNTERM;
} else
vap->iv_flags &= ~IEEE80211_F_COUNTERM;
@@ -2631,7 +2631,7 @@
case IEEE80211_IOC_WME:
if (ireq->i_val) {
if ((vap->iv_caps & IEEE80211_C_WME) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
ieee80211_syncflag(vap, IEEE80211_F_WME);
} else
ieee80211_syncflag(vap, -IEEE80211_F_WME);
@@ -2769,7 +2769,7 @@
case IEEE80211_IOC_FF:
if (ireq->i_val) {
if ((vap->iv_caps & IEEE80211_C_FF) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
vap->iv_flags |= IEEE80211_F_FF;
} else
vap->iv_flags &= ~IEEE80211_F_FF;
@@ -2778,7 +2778,7 @@
case IEEE80211_IOC_TURBOP:
if (ireq->i_val) {
if ((vap->iv_caps & IEEE80211_C_TURBOP) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
vap->iv_flags |= IEEE80211_F_TURBOP;
} else
vap->iv_flags &= ~IEEE80211_F_TURBOP;
@@ -2787,7 +2787,7 @@
case IEEE80211_IOC_BGSCAN:
if (ireq->i_val) {
if ((vap->iv_caps & IEEE80211_C_BGSCAN) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
vap->iv_flags |= IEEE80211_F_BGSCAN;
} else
vap->iv_flags &= ~IEEE80211_F_BGSCAN;
@@ -2813,7 +2813,7 @@
case IEEE80211_IOC_FRAGTHRESHOLD:
if ((vap->iv_caps & IEEE80211_C_TXFRAG) == 0 &&
ireq->i_val != IEEE80211_FRAG_MAX)
- return EINVAL;
+ return EOPNOTSUPP;
if (!(IEEE80211_FRAG_MIN <= ireq->i_val &&
ireq->i_val <= IEEE80211_FRAG_MAX))
return EINVAL;
@@ -2823,7 +2823,7 @@
case IEEE80211_IOC_BURST:
if (ireq->i_val) {
if ((vap->iv_caps & IEEE80211_C_BURST) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
ieee80211_syncflag(vap, IEEE80211_F_BURST);
} else
ieee80211_syncflag(vap, -IEEE80211_F_BURST);
@@ -2922,7 +2922,7 @@
#if 0
/* XXX no capability */
if ((vap->iv_caps & IEEE80211_C_DOTH) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
#endif
vap->iv_flags |= IEEE80211_F_DOTH;
} else
@@ -2941,7 +2941,7 @@
case IEEE80211_IOC_HTCOMPAT:
if (ireq->i_val) {
if ((vap->iv_flags_ext & IEEE80211_FEXT_HT) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
vap->iv_flags_ext |= IEEE80211_FEXT_HTCOMPAT;
} else
vap->iv_flags_ext &= ~IEEE80211_FEXT_HTCOMPAT;
@@ -2953,7 +2953,7 @@
if (ireq->i_val) {
/* NB: DWDS only makes sense for WDS-capable devices */
if ((ic->ic_caps & IEEE80211_C_WDS) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
/* NB: DWDS is used only with ap+sta vaps */
if (vap->iv_opmode != IEEE80211_M_HOSTAP &&
vap->iv_opmode != IEEE80211_M_STA)
@@ -2974,7 +2974,7 @@
case IEEE80211_IOC_WPS:
if (ireq->i_val) {
if ((vap->iv_caps & IEEE80211_C_WPA) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
vap->iv_flags_ext |= IEEE80211_FEXT_WPS;
} else
vap->iv_flags_ext &= ~IEEE80211_FEXT_WPS;
@@ -2982,7 +2982,7 @@
case IEEE80211_IOC_TSN:
if (ireq->i_val) {
if ((vap->iv_caps & IEEE80211_C_WPA) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
vap->iv_flags_ext |= IEEE80211_FEXT_TSN;
} else
vap->iv_flags_ext &= ~IEEE80211_FEXT_TSN;
@@ -2995,7 +2995,7 @@
#if 0
/* XXX no capability */
if ((vap->iv_caps & IEEE80211_C_DFS) == 0)
- return EINVAL;
+ return EOPNOTSUPP;
#endif
/* NB: DFS requires 11h support */
if ((vap->iv_flags & IEEE80211_F_DOTH) == 0)
More information about the p4-projects
mailing list