--- wrapper.c.orig 2004-11-04 18:31:51.000000000 -0600 +++ wrapper.c 2004-11-05 12:01:38.719783112 -0600 @@ -1385,7 +1385,8 @@ static struct net_device *ndis_init_netdev(struct ndis_handle **phandle, struct ndis_device *device, - struct ndis_driver *driver) + struct ndis_driver *driver, + struct device *netdev) { int i, *ip; struct net_device *dev; @@ -1398,7 +1399,8 @@ } SET_MODULE_OWNER(dev); -// SET_NETDEV_DEV(dev, &pdev->dev); + if (netdev != NULL) + SET_NETDEV_DEV(dev, netdev); handle = dev->priv; /* Poision the fileds as they may contain function pointers @@ -1502,7 +1504,7 @@ "mind if you have problem.\n", device->driver->name); } - dev = ndis_init_netdev(&handle, device, driver); + dev = ndis_init_netdev(&handle, device, driver, &pdev->dev); if(!dev) { printk(KERN_ERR "Unable to alloc etherdev\n"); @@ -1610,7 +1612,11 @@ TRACEENTER1("%04x:%04x\n", usb_id->idVendor, usb_id->idProduct); - dev = ndis_init_netdev(&handle, device, driver); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + dev = ndis_init_netdev(&handle, device, driver, &intf->dev); +#else + dev = ndis_init_netdev(&handle, device, driver, NULL); +#endif if(!dev) { ERROR("%s", "Unable to alloc etherdev\n"); res = -ENOMEM;