I'm not the maintainer of this driver, I guess it's Thomas Bogendörfer. /Carsten Burt Silverman wrote: > Hi Carsten, > > I noticed a couple of bugs in the pcnet32.c file. > > You need to do something like: > > #ifdef USE_PCI_REGISTER_DRIVER /*BMS*/ > pci_unregister_driver(&pcnet32_driver); /*BMS*/ > #endif > > just before the while loop in pcnet32_cleanup_module(). I used Mike > Phillips' Olympic driver for Token Ring to understand this. Without the > unregister, it is impossible to do a rmmod/insmod sequence. > > Also, something that is not as crystal clear, but I have a hunch that the > CSR registers 12-14 are not guaranteed to have the MAC address inside of > pcnet32_probe1. They are guaranteed to be in the APROM, but not the CSR > registers prior to hitting the INIT bit in CSR0; this is my understanding > from page 110 of the datasheet, and I did not see the INIT bit activated in > the program prior to CSR12-14 access. I found several times that my > CSR12-14 had 0 rather than the MAC address. The problem then cleared itself > up, and has not come back. I had used the driver for a long time before > this problem ever occurred. Actually, it happened coincidentally with > upgrading to RedHat 7.1 Linux. But maybe luck is involved! This problem is > what led me to attempt the rmmod/insmod when I discovered the unregister > problem. > > If you are the maintainer, perhaps you can review my findings. > > Regards, > > Burt Silverman -- _ _ ____ ___ Carsten Langgaard Mailto:carstenl@mips.com |\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527 | \/ ||| ____) Lautrupvang 4B Switch: +45 4486 5555 TECHNOLOGIES 2750 Ballerup Fax...: +45 4486 5556 Denmark http://www.mips.com - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org