In case of sysfs failure, don't let device be brought up. It can be cleared by unregister_netdevice so module can be unloaded normally.
Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-2.6.17.orig/net/core/dev.c 2006-04-21 12:21:45.000000000 -0700 +++ sky2-2.6.17/net/core/dev.c 2006-04-21 12:46:48.000000000 -0700 @@ -3043,10 +3043,17 @@ switch(dev->reg_state) { case NETREG_REGISTERING: + /* Can't do proper error handling here because + * this is a delayed call after register_netdevice + * so no way to tell device driver what is wrong. + */ err = netdev_register_sysfs(dev); - if (err) + if (err) { printk(KERN_ERR "%s: failed sysfs registration (%d)\n", dev->name, err); + /* Don't let device be brought up */ + clear_bit(__LINK_STATE_PRESENT, &dev->state); + } dev->reg_state = NETREG_REGISTERED; break; - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html