From owner-p4-projects@FreeBSD.ORG Fri Jan 12 23:27:36 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE0D516A412; Fri, 12 Jan 2007 23:27:35 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 99D2E16A403 for ; Fri, 12 Jan 2007 23:27:35 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 89AD413C44B for ; Fri, 12 Jan 2007 23:27:35 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l0CNRZUH017246 for ; Fri, 12 Jan 2007 23:27:35 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l0CNRYLp017243 for perforce@freebsd.org; Fri, 12 Jan 2007 23:27:35 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 12 Jan 2007 23:27:35 GMT Message-Id: <200701122327.l0CNRYLp017243@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 112847 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Jan 2007 23:27:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=112847 Change 112847 by hselasky@hselasky_mini_itx on 2007/01/12 23:26:37 Fix "EVIL HACK" regression. Obviously some parts of the network stack, the MII-bus at least, still depends on a "struct ifnet" pointer at the beginning of the network device's softc. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_aue.c#15 edit .. //depot/projects/usb/src/sys/dev/usb/if_auereg.h#10 edit .. //depot/projects/usb/src/sys/dev/usb/if_axe.c#14 edit .. //depot/projects/usb/src/sys/dev/usb/if_axereg.h#10 edit .. //depot/projects/usb/src/sys/dev/usb/if_cdce.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/if_cdcereg.h#9 edit .. //depot/projects/usb/src/sys/dev/usb/if_cue.c#12 edit .. //depot/projects/usb/src/sys/dev/usb/if_cuereg.h#7 edit .. //depot/projects/usb/src/sys/dev/usb/if_kue.c#14 edit .. //depot/projects/usb/src/sys/dev/usb/if_kuefw.h#3 edit .. //depot/projects/usb/src/sys/dev/usb/if_kuereg.h#7 edit .. //depot/projects/usb/src/sys/dev/usb/if_rue.c#13 edit .. //depot/projects/usb/src/sys/dev/usb/if_ruereg.h#8 edit .. //depot/projects/usb/src/sys/dev/usb/if_udav.c#13 edit .. //depot/projects/usb/src/sys/dev/usb/if_udavreg.h#8 edit .. //depot/projects/usb/src/sys/dev/usb/if_ural.c#16 edit .. //depot/projects/usb/src/sys/dev/usb/if_uralreg.h#8 edit .. //depot/projects/usb/src/sys/dev/usb/if_uralvar.h#11 edit .. //depot/projects/usb/src/sys/dev/usb/if_zyd.c#2 edit .. //depot/projects/usb/src/sys/dev/usb/if_zydfw.h#2 edit .. //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_aue.c#15 (text+ko) ==== @@ -905,6 +905,8 @@ goto done; } + sc->sc_evilhack = ifp; + ifp->if_softc = sc; if_initname(ifp, "aue", sc->sc_unit); ifp->if_mtu = ETHERMTU; ==== //depot/projects/usb/src/sys/dev/usb/if_auereg.h#10 (text+ko) ==== @@ -198,6 +198,8 @@ struct aue_softc { + void *sc_evilhack; /* XXX this pointer must be first */ + struct usbd_config_td sc_config_td; struct __callout sc_watchdog; struct mtx sc_mtx; ==== //depot/projects/usb/src/sys/dev/usb/if_axe.c#14 (text+ko) ==== @@ -719,6 +719,8 @@ goto done; } + sc->sc_evilhack = ifp; + ifp->if_softc = sc; if_initname(ifp, "axe", sc->sc_unit); ifp->if_mtu = ETHERMTU; ==== //depot/projects/usb/src/sys/dev/usb/if_axereg.h#10 (text+ko) ==== @@ -113,6 +113,8 @@ device_get_softc((sc)->sc_miibus) : NULL) struct axe_softc { + void *sc_evilhack; /* XXX this pointer must be first */ + struct usbd_config_td sc_config_td; struct __callout sc_watchdog; struct mtx sc_mtx; ==== //depot/projects/usb/src/sys/dev/usb/if_cdce.c#10 (text+ko) ==== @@ -379,6 +379,8 @@ goto detach; } + sc->sc_evilhack = ifp; + ifp->if_softc = sc; if_initname(ifp, "cdce", sc->sc_unit); ifp->if_mtu = ETHERMTU; ==== //depot/projects/usb/src/sys/dev/usb/if_cdcereg.h#9 (text+ko) ==== @@ -43,6 +43,8 @@ }; struct cdce_softc { + void *sc_evilhack; /* XXX this pointer must be first */ + struct ifmedia sc_ifmedia; struct mtx sc_mtx; ==== //depot/projects/usb/src/sys/dev/usb/if_cue.c#12 (text+ko) ==== @@ -582,6 +582,8 @@ goto done; } + sc->sc_evilhack = ifp; + ifp->if_softc = sc; if_initname(ifp, "cue", sc->sc_unit); ifp->if_mtu = ETHERMTU; ==== //depot/projects/usb/src/sys/dev/usb/if_cuereg.h#7 (text+ko) ==== @@ -121,6 +121,8 @@ }; struct cue_softc { + void *sc_evilhack; /* XXX this pointer must be first */ + struct usbd_config_td sc_config_td; struct __callout sc_watchdog; struct mtx sc_mtx; ==== //depot/projects/usb/src/sys/dev/usb/if_kue.c#14 (text+ko) ==== @@ -617,6 +617,8 @@ goto done; } + sc->sc_evilhack = ifp; + ifp->if_softc = sc; if_initname(ifp, "kue", sc->sc_unit); ifp->if_mtu = ETHERMTU; ==== //depot/projects/usb/src/sys/dev/usb/if_kuefw.h#3 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb/if_kuereg.h#7 (text+ko) ==== @@ -126,6 +126,7 @@ }; struct kue_softc { + void *sc_evilhack; /* XXX this pointer must be first */ struct usbd_config_td sc_config_td; struct __callout sc_watchdog; ==== //depot/projects/usb/src/sys/dev/usb/if_rue.c#13 (text+ko) ==== @@ -817,6 +817,8 @@ goto done; } + sc->sc_evilhack = ifp; + ifp->if_softc = sc; if_initname(ifp, "rue", sc->sc_unit); ifp->if_mtu = ETHERMTU; ==== //depot/projects/usb/src/sys/dev/usb/if_ruereg.h#8 (text+ko) ==== @@ -166,6 +166,7 @@ }; struct rue_softc { + void *sc_evilhack; /* XXX this pointer must be first */ struct usbd_config_td sc_config_td; struct __callout sc_watchdog; ==== //depot/projects/usb/src/sys/dev/usb/if_udav.c#13 (text+ko) ==== @@ -425,6 +425,8 @@ goto done; } + sc->sc_evilhack = ifp; + ifp->if_softc = sc; if_initname(ifp, "udav", sc->sc_unit); ifp->if_mtu = ETHERMTU; ==== //depot/projects/usb/src/sys/dev/usb/if_udavreg.h#8 (text+ko) ==== @@ -137,6 +137,8 @@ device_get_softc((sc)->sc_miibus) : NULL) struct udav_softc { + void *sc_evilhack; /* XXX this pointer must be first */ + struct usbd_config_td sc_config_td; struct __callout sc_watchdog; struct mtx sc_mtx; ==== //depot/projects/usb/src/sys/dev/usb/if_ural.c#16 (text+ko) ==== @@ -869,6 +869,7 @@ goto done; } + sc->sc_evilhack = ifp; sc->sc_ifp = ifp; ifp->if_softc = sc; ==== //depot/projects/usb/src/sys/dev/usb/if_uralreg.h#8 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb/if_uralvar.h#11 (text+ko) ==== @@ -108,6 +108,7 @@ } __packed; struct ural_softc { + void *sc_evilhack; /* XXX this pointer must be first */ struct usbd_config_td sc_config_td; struct ural_tx_desc sc_tx_desc; ==== //depot/projects/usb/src/sys/dev/usb/if_zyd.c#2 (text+ko) ==== @@ -2060,6 +2060,7 @@ goto done; } + sc->sc_evilhack = ifp; sc->sc_ifp = ifp; ifp->if_softc = sc; ==== //depot/projects/usb/src/sys/dev/usb/if_zydfw.h#2 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#2 (text+ko) ==== @@ -1278,6 +1278,8 @@ (1 << IEEE80211_RADIOTAP_CHANNEL)) struct zyd_softc { + void *sc_evilhack; /* XXX this pointer must be first */ + struct ieee80211com sc_ic; struct zyd_rf sc_rf; struct __callout sc_scan_callout;