hpsa: avoid unneccesary calls to resource freeing functions

If hpsa_allocate_cmd_pool failed, we were calling two functions unnecessarily:

  hpsa_free_sg_chain_blocks(h);
  hpsa_free_cmd_pool(h);

This didn't cause any problem, as those functions can tolerate being called
when what they free hasn't been allocated (relevant pointers would be NULL)
but it is potentially confusing.

Reviewed-by: Scott Teel <scott.teel@pmcs.com>
Signed-off-by: Robert Elliott <elliott@hp.com>
Signed-off-by: Don Brace <don.brace@pmcs.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Robert Elliott 2015-01-23 16:42:54 -06:00 committed by James Bottomley
parent 2c14334278
commit 8947fd1086
1 changed files with 4 additions and 2 deletions

View File

@ -6948,8 +6948,9 @@ static int hpsa_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
dev_info(&pdev->dev, "%s: <0x%x> at IRQ %d%s using DAC\n",
h->devname, pdev->device,
h->intr[h->intr_mode], dac ? "" : " not");
if (hpsa_allocate_cmd_pool(h))
goto clean4;
rc = hpsa_allocate_cmd_pool(h);
if (rc)
goto clean2_and_free_irqs;
if (hpsa_allocate_sg_chain_blocks(h))
goto clean4;
init_waitqueue_head(&h->scan_wait_queue);
@ -7038,6 +7039,7 @@ static int hpsa_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
clean4:
hpsa_free_sg_chain_blocks(h);
hpsa_free_cmd_pool(h);
clean2_and_free_irqs:
hpsa_free_irqs(h);
clean2:
clean1: