PERFORCE change 136178 for review
Sam Leffler
sam at FreeBSD.org
Mon Feb 25 18:55:32 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=136178
Change 136178 by sam at sam_ebb on 2008/02/25 18:55:23
parent devices must handle [GS]IFMEDIA directly for ifconfig
to report their status
Affected files ...
.. //depot/projects/vap/sys/dev/ipw/if_ipw.c#9 edit
.. //depot/projects/vap/sys/dev/iwi/if_iwi.c#14 edit
.. //depot/projects/vap/sys/dev/ral/rt2560.c#16 edit
.. //depot/projects/vap/sys/dev/ral/rt2661.c#13 edit
.. //depot/projects/vap/sys/dev/usb/if_rum.c#8 edit
.. //depot/projects/vap/sys/dev/usb/if_ural.c#10 edit
.. //depot/projects/vap/sys/dev/usb/if_zyd.c#9 edit
.. //depot/projects/vap/sys/dev/wpi/if_wpi.c#8 edit
Differences ...
==== //depot/projects/vap/sys/dev/ipw/if_ipw.c#9 (text+ko) ====
@@ -1727,6 +1727,8 @@
ipw_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
{
struct ipw_softc *sc = ifp->if_softc;
+ struct ieee80211com *ic = &sc->sc_ic;
+ struct ifreq *ifr = (struct ifreq *) data;
int error = 0;
IPW_LOCK_DECL;
@@ -1742,7 +1744,10 @@
ipw_stop_locked(sc);
}
break;
-
+ case SIOCGIFMEDIA:
+ case SIOCSIFMEDIA:
+ error = ifmedia_ioctl(ifp, ifr, &ic->ic_media, cmd);
+ break;
default:
error = ether_ioctl(ifp, cmd, data);
}
==== //depot/projects/vap/sys/dev/iwi/if_iwi.c#14 (text+ko) ====
@@ -1978,6 +1978,8 @@
iwi_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
{
struct iwi_softc *sc = ifp->if_softc;
+ struct ieee80211com *ic = &sc->sc_ic;
+ struct ifreq *ifr = (struct ifreq *) data;
int error = 0;
IWI_LOCK_DECL;
@@ -2008,7 +2010,10 @@
}
}
break;
-
+ case SIOCGIFMEDIA:
+ case SIOCSIFMEDIA:
+ error = ifmedia_ioctl(ifp, ifr, &ic->ic_media, cmd);
+ break;
default:
error = ether_ioctl(ifp, cmd, data);
}
==== //depot/projects/vap/sys/dev/ral/rt2560.c#16 (text) ====
@@ -2067,6 +2067,9 @@
rt2560_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
{
struct rt2560_softc *sc = ifp->if_softc;
+ struct ieee80211com *ic = &sc->sc_ic;
+ struct ifreq *ifr = (struct ifreq *) data;
+ int error = 0;
switch (cmd) {
case SIOCSIFFLAGS:
@@ -2082,10 +2085,15 @@
rt2560_stop(sc);
}
break;
+ case SIOCGIFMEDIA:
+ case SIOCSIFMEDIA:
+ error = ifmedia_ioctl(ifp, ifr, &ic->ic_media, cmd);
+ break;
default:
- return ether_ioctl(ifp, cmd, data);
+ error = ether_ioctl(ifp, cmd, data);
+ break;
}
- return 0;
+ return error;
}
static void
==== //depot/projects/vap/sys/dev/ral/rt2661.c#13 (text) ====
@@ -1905,6 +1905,9 @@
rt2661_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
{
struct rt2661_softc *sc = ifp->if_softc;
+ struct ieee80211com *ic = &sc->sc_ic;
+ struct ifreq *ifr = (struct ifreq *) data;
+ int error = 0;
switch (cmd) {
case SIOCSIFFLAGS:
@@ -1918,9 +1921,13 @@
rt2661_stop(sc);
}
break;
-
+ case SIOCGIFMEDIA:
+ case SIOCSIFMEDIA:
+ error = ifmedia_ioctl(ifp, ifr, &ic->ic_media, cmd);
+ break;
default:
- return ether_ioctl(ifp, cmd, data);
+ error = ether_ioctl(ifp, cmd, data);
+ break;
}
return 0;
}
==== //depot/projects/vap/sys/dev/usb/if_rum.c#8 (text+ko) ====
@@ -1432,6 +1432,8 @@
rum_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
{
struct rum_softc *sc = ifp->if_softc;
+ struct ieee80211com *ic = &sc->sc_ic;
+ struct ifreq *ifr = (struct ifreq *) data;
int error = 0;
RUM_LOCK(sc);
@@ -1448,6 +1450,10 @@
rum_stop(sc);
}
break;
+ case SIOCGIFMEDIA:
+ case SIOCSIFMEDIA:
+ error = ifmedia_ioctl(ifp, ifr, &ic->ic_media, cmd);
+ break;
default:
error = ether_ioctl(ifp, cmd, data);
}
==== //depot/projects/vap/sys/dev/usb/if_ural.c#10 (text+ko) ====
@@ -1536,6 +1536,8 @@
ural_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
{
struct ural_softc *sc = ifp->if_softc;
+ struct ieee80211com *ic = &sc->sc_ic;
+ struct ifreq *ifr = (struct ifreq *) data;
int error = 0;
RAL_LOCK(sc);
@@ -1552,9 +1554,13 @@
ural_stop(sc);
}
break;
-
+ case SIOCGIFMEDIA:
+ case SIOCSIFMEDIA:
+ error = ifmedia_ioctl(ifp, ifr, &ic->ic_media, cmd);
+ break;
default:
error = ether_ioctl(ifp, cmd, data);
+ break;
}
RAL_UNLOCK(sc);
==== //depot/projects/vap/sys/dev/usb/if_zyd.c#9 (text+ko) ====
@@ -2473,6 +2473,8 @@
zyd_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
{
struct zyd_softc *sc = ifp->if_softc;
+ struct ieee80211com *ic = &sc->sc_ic;
+ struct ifreq *ifr = (struct ifreq *) data;
int error = 0;
ZYD_LOCK(sc);
@@ -2492,15 +2494,18 @@
}
sc->sc_if_flags = ifp->if_flags;
break;
-
case SIOCADDMULTI:
case SIOCDELMULTI:
if (ifp->if_drv_flags & IFF_DRV_RUNNING)
zyd_set_multi(sc);
break;
-
+ case SIOCGIFMEDIA:
+ case SIOCSIFMEDIA:
+ error = ifmedia_ioctl(ifp, ifr, &ic->ic_media, cmd);
+ break;
default:
error = ether_ioctl(ifp, cmd, data);
+ break;
}
ZYD_UNLOCK(sc);
==== //depot/projects/vap/sys/dev/wpi/if_wpi.c#8 (text+ko) ====
@@ -2190,6 +2190,8 @@
wpi_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
{
struct wpi_softc *sc = ifp->if_softc;
+ struct ieee80211com *ic = &sc->sc_ic;
+ struct ifreq *ifr = (struct ifreq *) data;
int error = 0;
WPI_LOCK_DECL;
@@ -2203,6 +2205,10 @@
} else if (ifp->if_drv_flags & IFF_DRV_RUNNING)
wpi_stop_locked(sc);
break;
+ case SIOCGIFMEDIA:
+ case SIOCSIFMEDIA:
+ error = ifmedia_ioctl(ifp, ifr, &ic->ic_media, cmd);
+ break;
default:
error = ether_ioctl(ifp, cmd, data);
break;
More information about the p4-projects
mailing list