--- linux-2.4.22/drivers/usb/usbnet.c.orig 2004-09-19 03:08:09.000000000 -0400 +++ linux-2.4.22/drivers/usb/usbnet.c 2004-09-19 03:10:58.000000000 -0400 @@ -314,8 +314,6 @@ MODULE_PARM_DESC (msg_level, "Initial me #define RUN_CONTEXT (in_irq () ? "in_irq" \ : (in_interrupt () ? "in_interrupt" : "can sleep")) -static struct ethtool_ops usbnet_ethtool_ops; - /* mostly for PDA style devices, which are always present */ static int always_connected (struct usbnet *dev) { @@ -2515,7 +2513,6 @@ usbnet_probe (struct usb_device *udev, u net->watchdog_timeo = TX_TIMEOUT_JIFFIES; net->tx_timeout = usbnet_tx_timeout; net->do_ioctl = usbnet_ioctl; - net->ethtool_ops = &usbnet_ethtool_ops; // allow device-specific bind/init procedures // NOTE net->name still not usable ... @@ -2738,13 +2735,6 @@ static struct usb_driver usbnet_driver = .disconnect = usbnet_disconnect, }; -/* Default ethtool_ops assigned. Devices can override in their bind() routine */ -static struct ethtool_ops usbnet_ethtool_ops = { - .get_drvinfo = usbnet_get_drvinfo, - .get_link = usbnet_get_link, - .get_msglevel = usbnet_get_msglevel, - .set_msglevel = usbnet_set_msglevel, -}; /*-------------------------------------------------------------------------*/ static int __init usbnet_init (void) --- linux-2.4.22/drivers/net/Makefile.orig 2004-09-21 19:29:09.000000000 -0400 +++ linux-2.4.22/drivers/net/Makefile 2004-09-21 19:30:33.000000000 -0400 @@ -267,6 +267,7 @@ obj-$(CONFIG_AMD8111_ETH) += amd8111e.o # non-drivers/net drivers who want mii lib obj-$(CONFIG_PCMCIA_SMC91C92) += mii.o +obj-$(CONFIG_USB_USBNET) += mii.o ifeq ($(CONFIG_ARCH_ACORN),y) mod-subdirs += ../acorn/net