Keith, I have found that I am still gettting binutils type of error when compiling 2.4.17-rc1. It is in usbdrv.o: drivers/usb/usbdrv.o(.text.lock+0x5dc): undefined reference to `local symbols in discarded section .text.exit' Through trial and error, I have determined that the error only happens when compiling the visor usbserial module into the kernel. I have attatched my .config file. The odd thing is that drivers/usb/serial/visor.c has only its module cleanup function (visor_exit) marked as __exit (and nothing as __devexit). The only reference to visor_exit() in the file is to use it in the module_exit() macro. I'm confused. Other drivers mark their module cleanup functions with __exit and don't have any problems. -- Will Dyson