> + for (i = 0; i < RSWITCH_NUM_PORTS; i++) { > + err = register_netdev(priv->rdev[i]->ndev); > + if (err) { > + for (i--; i >= 0; i--) > + unregister_netdev(priv->rdev[i]->ndev); > + goto err_register_netdev; > + } > + } > + > + err = rswitch_ether_port_init_all(priv); > + if (err) > + goto err_ether_port_init_all; As soon as you call register_netdev() the devices are active, and can be in use. E.G. NFS root can start mounting the filesystem before register_netdev() even returns. Is it safe to call driver operations before rswitch_ether_port_init_all(). Andrew