Commit 267ee88e authored by Roland Dreier's avatar Roland Dreier

IPoIB: fix error handling in ipoib_open

If ipoib_ib_dev_up() fails after ipoib_ib_dev_open() is called, then
ipoib_ib_dev_stop() needs to be called to clean up.
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 4f71055a
...@@ -94,8 +94,10 @@ int ipoib_open(struct net_device *dev) ...@@ -94,8 +94,10 @@ int ipoib_open(struct net_device *dev)
if (ipoib_ib_dev_open(dev)) if (ipoib_ib_dev_open(dev))
return -EINVAL; return -EINVAL;
if (ipoib_ib_dev_up(dev)) if (ipoib_ib_dev_up(dev)) {
ipoib_ib_dev_stop(dev);
return -EINVAL; return -EINVAL;
}
if (!test_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags)) { if (!test_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags)) {
struct ipoib_dev_priv *cpriv; struct ipoib_dev_priv *cpriv;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment