|
@@ -492,8 +492,7 @@ int ipoib_set_mode(struct net_device *dev, const char *buf)
|
|
priv->tx_wr.wr.send_flags &= ~IB_SEND_IP_CSUM;
|
|
priv->tx_wr.wr.send_flags &= ~IB_SEND_IP_CSUM;
|
|
|
|
|
|
ipoib_flush_paths(dev);
|
|
ipoib_flush_paths(dev);
|
|
- rtnl_lock();
|
|
|
|
- return 0;
|
|
|
|
|
|
+ return (!rtnl_trylock()) ? -EBUSY : 0;
|
|
}
|
|
}
|
|
|
|
|
|
if (!strcmp(buf, "datagram\n")) {
|
|
if (!strcmp(buf, "datagram\n")) {
|
|
@@ -502,8 +501,7 @@ int ipoib_set_mode(struct net_device *dev, const char *buf)
|
|
dev_set_mtu(dev, min(priv->mcast_mtu, dev->mtu));
|
|
dev_set_mtu(dev, min(priv->mcast_mtu, dev->mtu));
|
|
rtnl_unlock();
|
|
rtnl_unlock();
|
|
ipoib_flush_paths(dev);
|
|
ipoib_flush_paths(dev);
|
|
- rtnl_lock();
|
|
|
|
- return 0;
|
|
|
|
|
|
+ return (!rtnl_trylock()) ? -EBUSY : 0;
|
|
}
|
|
}
|
|
|
|
|
|
return -EINVAL;
|
|
return -EINVAL;
|