net: cxgb3_main: disable napi when bind qsets failed in cxgb_up()
authorZhengchao Shao <shaozhengchao@huawei.com>
Wed, 9 Nov 2022 02:14:51 +0000 (10:14 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 10 Nov 2022 02:32:20 +0000 (18:32 -0800)
When failed to bind qsets in cxgb_up() for opening device, napi isn't
disabled. When open cxgb3 device next time, it will trigger a BUG_ON()
in napi_enable(). Compile tested only.

Fixes: 48c4b6dbb7e2 ("cxgb3 - fix port up/down error path")
Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
Link: https://lore.kernel.org/r/20221109021451.121490-1-shaozhengchao@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c

index a52e6b6e2876728431aa752dbe612e605bafcd96..9b84c8d8d30973598972b06929c829fe7fb1e64d 100644 (file)
@@ -1301,6 +1301,7 @@ static int cxgb_up(struct adapter *adap)
                if (ret < 0) {
                        CH_ERR(adap, "failed to bind qsets, err %d\n", ret);
                        t3_intr_disable(adap);
+                       quiesce_rx(adap);
                        free_irq_resources(adap);
                        err = ret;
                        goto out;