Index: linux_2_4/drivers/net/3c509.c diff -u linux_2_4/drivers/net/3c509.c:1.1.1.5 linux_2_4/drivers/net/3c509.c:1.1.1.3 --- linux_2_4/drivers/net/3c509.c:1.1.1.5 Tue Oct 31 13:21:47 2000 +++ linux_2_4/drivers/net/3c509.c Sun Oct 22 13:29:58 2000 @@ -434,6 +436,13 @@ /* Free the interrupt so that some other card can use it. */ outw(0x0f00, ioaddr + WN0_IRQ); found: + if (dev == NULL) { + dev = init_etherdev(dev, sizeof(struct el3_private)); + if (dev == NULL) { + release_region(ioaddr, EL3_IO_EXTENT); + return -ENOMEM; + } + } memcpy(dev->dev_addr, phys_addr, sizeof(phys_addr)); dev->base_addr = ioaddr; dev->irq = irq;