Commit 1cfafab9 authored by Sathya Perla's avatar Sathya Perla Committed by David S. Miller
Browse files

be2net: reset queue address after freeing



This will prevent double free in some cases where be_clear() is called
for cleanup when be_setup() fails half-way.

Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0ae57bb3
...@@ -127,9 +127,11 @@ static inline bool be_is_mc(struct be_adapter *adapter) { ...@@ -127,9 +127,11 @@ static inline bool be_is_mc(struct be_adapter *adapter) {
static void be_queue_free(struct be_adapter *adapter, struct be_queue_info *q) static void be_queue_free(struct be_adapter *adapter, struct be_queue_info *q)
{ {
struct be_dma_mem *mem = &q->dma_mem; struct be_dma_mem *mem = &q->dma_mem;
if (mem->va) if (mem->va) {
dma_free_coherent(&adapter->pdev->dev, mem->size, mem->va, dma_free_coherent(&adapter->pdev->dev, mem->size, mem->va,
mem->dma); mem->dma);
mem->va = NULL;
}
} }
static int be_queue_alloc(struct be_adapter *adapter, struct be_queue_info *q, static int be_queue_alloc(struct be_adapter *adapter, struct be_queue_info *q,
...@@ -1660,7 +1662,7 @@ static int be_evt_queues_create(struct be_adapter *adapter) ...@@ -1660,7 +1662,7 @@ static int be_evt_queues_create(struct be_adapter *adapter)
if (rc) if (rc)
return rc; return rc;
} }
return rc; return 0;
} }
static void be_mcc_queues_destroy(struct be_adapter *adapter) static void be_mcc_queues_destroy(struct be_adapter *adapter)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment