IPoIB: Clean up if posting receives fails
authorEli Cohen <eli@mellanox.co.il>
Thu, 2 Mar 2006 19:05:19 +0000 (11:05 -0800)
committerRoland Dreier <rolandd@cisco.com>
Mon, 20 Mar 2006 18:08:19 +0000 (10:08 -0800)
If posting receives in ipoib_ib_dev_open() fails, call
ipoib_ib_dev_stop() to move the device's QP back to the RESET state so
that we can try again later.

Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/ipoib/ipoib_ib.c

index 86bcdd72a10706260bf2585fe5d3b5e8103e65e5..5a5367d10875bdb218d158a755ecf86c7f5a183f 100644 (file)
@@ -416,6 +416,7 @@ int ipoib_ib_dev_open(struct net_device *dev)
        ret = ipoib_ib_post_receives(dev);
        if (ret) {
                ipoib_warn(priv, "ipoib_ib_post_receives returned %d\n", ret);
+               ipoib_ib_dev_stop(dev);
                return -1;
        }