cxgb4: Fix queue free path of ULD drivers
authorArjun Vynipadath <arjun@chelsio.com>
Thu, 15 Mar 2018 12:04:14 +0000 (17:34 +0530)
committerDavid S. Miller <davem@davemloft.net>
Sat, 17 Mar 2018 21:20:03 +0000 (17:20 -0400)
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>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c

index 6b5fea4532f363f4c3b8708e777b4f0cdf38f6fd..2d827140a475bc80194ba1001f12f36a16793b2d 100644 (file)
@@ -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);