PERFORCE change 141150 for review
Sam Leffler
sam at FreeBSD.org
Sun May 4 18:44:52 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=141150
Change 141150 by sam at sam_ebb on 2008/05/04 18:44:47
o validate opmode parameter at top level of clone work so every driver
doesn't need to do it
o disambiguate error returns
Note: printf's left in place for now; will move to something like
DIAGNOSTIC eventually
Affected files ...
.. //depot/projects/vap/sys/net80211/ieee80211_freebsd.c#29 edit
Differences ...
==== //depot/projects/vap/sys/net80211/ieee80211_freebsd.c#29 (text+ko) ====
@@ -108,11 +108,22 @@
ifp = ifunit(cp.icp_parent);
if (ifp == NULL)
return ENXIO;
+ /* XXX move printfs to DIAGNOSTIC before release */
if (ifp->if_type != IFT_IEEE80211) {
if_printf(ifp, "%s: reject, not an 802.11 device\n", __func__);
+ return ENXIO;
+ }
+ if (cp.icp_opmode >= IEEE80211_OPMODE_MAX) {
+ if_printf(ifp, "%s: invalid opmode %d\n",
+ __func__, cp.icp_opmode);
return EINVAL;
}
ic = ifp->if_l2com;
+ if ((ic->ic_caps & ieee80211_opcap[cp.icp_opmode]) == 0) {
+ if_printf(ifp, "%s mode not supported\n",
+ ieee80211_opmode_name[cp.icp_opmode]);
+ return EOPNOTSUPP;
+ }
vap = ic->ic_vap_create(ic, ifc->ifc_name, unit,
cp.icp_opmode, cp.icp_flags, cp.icp_bssid,
cp.icp_flags & IEEE80211_CLONE_MACADDR ?
More information about the p4-projects
mailing list