cxgb4: avoid enabling napi twice to the same queue
authorGanesh Goudar <ganeshgr@chelsio.com>
Wed, 31 May 2017 12:56:28 +0000 (18:26 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 Jun 2017 18:06:23 +0000 (14:06 -0400)
Take uld mutex to avoid race between cxgb_up() and
cxgb4_register_uld() to enable napi for the same uld
queue.

Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c

index b512149684fda1b376207ee7007ec809e8bce1bb..77ed2f628f9ca23854ae8b062ff919ce6d2e3425 100644 (file)
@@ -2196,10 +2196,14 @@ static int cxgb_up(struct adapter *adap)
                if (err)
                        goto irq_err;
        }
+
+       mutex_lock(&uld_mutex);
        enable_rx(adap);
        t4_sge_start(adap);
        t4_intr_enable(adap);
        adap->flags |= FULL_INIT_DONE;
+       mutex_unlock(&uld_mutex);
+
        notify_ulds(adap, CXGB4_STATE_UP);
 #if IS_ENABLED(CONFIG_IPV6)
        update_clip(adap);