> The action in bonding to a detach of slave is to unregister the master (see > patch 10). > This can't be done from the context of unregister_netdevice itself (it is > protected by rtnl_lock).
I'm confused. Your patch has: > + ipoib_slave_detach(cpriv->dev); > unregister_netdev(cpriv->dev); And ipoib_slave_detach() is: > +static inline void ipoib_slave_detach(struct net_device *dev) > +{ > + rtnl_lock(); > + netdev_slave_detach(dev); > + rtnl_unlock(); > +} so you are calling netdev_slave_detach() with the rtnl lock held. Why can't you make the same call from the start of unregister_netdevice()? Anyway, if the rtnl lock is a problem, can you just add the call to netdev_slave_detach() to unregister_netdev() before it takes the rtnl lock? - R. - 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