diff mbox series

[net-next] cxgb4: Fix queue free path of ULD drivers

Message ID 1521115454-5793-1-git-send-email-ganeshgr@chelsio.com
State Accepted, archived
Delegated to: David Miller
Headers show
Series [net-next] cxgb4: Fix queue free path of ULD drivers | expand

Commit Message

Ganesh Goudar March 15, 2018, 12:04 p.m. UTC
From: Arjun Vynipadath <arjun@chelsio.com>

Setting sge_uld_rxq_info to NULL in free_queues_uld().
We are referencing sge_uld_rxq_info in cxgb_up(). This
will fix a panic when interface is brought up after a
ULDq creation failure.

Fixes: 94cdb8bb993a (cxgb4: Add support for dynamic allocation
       of resources for ULD)
Signed-off-by: Arjun Vynipadath <arjun@chelsio.com>
Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: Ganesh Goudhar <ganeshgr@chelsio.com>
---
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c | 1 +
 1 file changed, 1 insertion(+)

Comments

David Miller March 17, 2018, 9:20 p.m. UTC | #1
From: Ganesh Goudar <ganeshgr@chelsio.com>
Date: Thu, 15 Mar 2018 17:34:14 +0530

> From: Arjun Vynipadath <arjun@chelsio.com>
> 
> Setting sge_uld_rxq_info to NULL in free_queues_uld().
> We are referencing sge_uld_rxq_info in cxgb_up(). This
> will fix a panic when interface is brought up after a
> ULDq creation failure.
> 
> Fixes: 94cdb8bb993a (cxgb4: Add support for dynamic allocation
>        of resources for ULD)
> Signed-off-by: Arjun Vynipadath <arjun@chelsio.com>
> Signed-off-by: Casey Leedom <leedom@chelsio.com>
> Signed-off-by: Ganesh Goudhar <ganeshgr@chelsio.com>

Applied, thank you.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
index 6b5fea4..2d82714 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
@@ -342,6 +342,7 @@  static void free_queues_uld(struct adapter *adap, unsigned int uld_type)
 {
 	struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type];
 
+	adap->sge.uld_rxq_info[uld_type] = NULL;
 	kfree(rxq_info->rspq_id);
 	kfree(rxq_info->uldrxq);
 	kfree(rxq_info);