ipoib_open() may be called from ipoib_pkey_poll(), without calling ipoib_stop()
first. This will call napi_enable() without calling napi_disable first().

Signed-off-by: Yosef Etigin <[EMAIL PROTECTED]>

--

Fixes bug https://bugs.openfabrics.org/show_bug.cgi?id=1288.

Index: b/drivers/infiniband/ulp/ipoib/ipoib_main.c
===================================================================
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c 2008-10-19 14:12:55.000000000 
+0200
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c 2008-10-19 14:16:16.000000000 
+0200
@@ -106,8 +106,8 @@ int ipoib_open(struct net_device *dev)

        ipoib_dbg(priv, "bringing up interface\n");

-       napi_enable(&priv->napi);
-       set_bit(IPOIB_FLAG_ADMIN_UP, &priv->flags);
+       if (!test_and_set_bit(IPOIB_FLAG_ADMIN_UP, &priv->flags))
+               napi_enable(&priv->napi);

        if (ipoib_pkey_dev_delay_open(dev))
                return 0;
_______________________________________________
general mailing list
general@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to