mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 04:47:05 +00:00
bnxt_en: free hwrm resources, if driver probe fails.
When the driver probe fails, all the resources that were allocated prior
to the failure must be freed. However, hwrm dma response memory is not
getting freed.
This patch fixes the problem described above.
Fixes: c0c050c58d
("bnxt_en: New Broadcom ethernet driver.")
Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5db0e0969a
commit
a2bf74f4e1
1 changed files with 6 additions and 4 deletions
|
@ -3017,10 +3017,11 @@ static void bnxt_free_hwrm_resources(struct bnxt *bp)
|
|||
{
|
||||
struct pci_dev *pdev = bp->pdev;
|
||||
|
||||
dma_free_coherent(&pdev->dev, PAGE_SIZE, bp->hwrm_cmd_resp_addr,
|
||||
bp->hwrm_cmd_resp_dma_addr);
|
||||
|
||||
bp->hwrm_cmd_resp_addr = NULL;
|
||||
if (bp->hwrm_cmd_resp_addr) {
|
||||
dma_free_coherent(&pdev->dev, PAGE_SIZE, bp->hwrm_cmd_resp_addr,
|
||||
bp->hwrm_cmd_resp_dma_addr);
|
||||
bp->hwrm_cmd_resp_addr = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static int bnxt_alloc_hwrm_resources(struct bnxt *bp)
|
||||
|
@ -9057,6 +9058,7 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
bnxt_clear_int_mode(bp);
|
||||
|
||||
init_err_pci_clean:
|
||||
bnxt_free_hwrm_resources(bp);
|
||||
bnxt_cleanup_pci(bp);
|
||||
|
||||
init_err_free:
|
||||
|
|
Loading…
Reference in a new issue