[ofa-general] Re: [PATCH V5 2/11] IB/ipoib: Notify the world before doing unregister
Roland Dreier
rdreier at cisco.com
Sun Sep 23 09:34:46 PDT 2007
> 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.
More information about the general
mailing list