Jeff Garzik wrote: > Michael Clark wrote: > >>Okay, so i'll move the register_netdev call earlier on in the >>initialisation and add any necessary unregister call for failures. >> > > Not a solution but more of a problem... a user might see: > > eth0: startup message > eth0: startup message > {failure, unregisters eth0} > eth0: startup message > eth0: startup message > {failure, unregisters eth0} > eth0: startup message > eth0: startup message > {failure, unregisters eth0} > > That's particularly messy to diagnose when eth0 may not really be eth0. > Further in a hotplug multi-threaded world you are reserving an ethernet > interface which may not be used. Okay, I didn't really need to move the register_netdev call back so early in the initialization function. In fact there are no failure conditions after the first printk so i've moved it to just before this so there are now no failure conditions after the register_netdev. > I greatly prefer assigning board numbers (ns83820_0, ns83820_0, or ns0, > ns1, ns2) temporarily until you are sure you can register the interface > with the likelihood it will not be unregistered until module removal > time, or never [if built into kernel]. Problem solved. New patch attached. ~mc