> 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.
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general