qlcnic: Fix a memory leak in error handling path

If 'dma_alloc_coherent()' fails, we should release resources allocated so
far, just as done in all other cases in this function.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Christophe Jaillet 2017-02-19 10:35:05 +01:00 committed by David S. Miller
parent 177c8d1c96
commit 766a957df9

View File

@ -573,8 +573,10 @@ int qlcnic_alloc_hw_resources(struct qlcnic_adapter *adapter)
ptr = (__le32 *)dma_alloc_coherent(&pdev->dev, sizeof(u32),
&tx_ring->hw_cons_phys_addr,
GFP_KERNEL);
if (ptr == NULL)
return -ENOMEM;
if (ptr == NULL) {
err = -ENOMEM;
goto err_out_free;
}
tx_ring->hw_consumer = ptr;
/* cmd desc ring */