From: Sergei Shtylyov Date: Thu, 23 Oct 2008 21:22:06 +0000 (+0200) Subject: sgiioc4: fix error cleanup path (take 2) X-Git-Tag: v2.6.28-rc1~5^2~9 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=3059ef99a167da6d5d77701fda5b905d985e31af;p=linux-2.6-omap-h63xx.git sgiioc4: fix error cleanup path (take 2) The driver "forgot" to call iounmap() iff request_mem_region() call failed in sgiioc4_ide_setup_pci_device()... Signed-off-by: Sergei Shtylyov Cc: jeremy@sgi.com Signed-off-by: Bartlomiej Zolnierkiewicz --- diff --git a/drivers/ide/sgiioc4.c b/drivers/ide/sgiioc4.c index 8af9b23499f..9fadea41e1c 100644 --- a/drivers/ide/sgiioc4.c +++ b/drivers/ide/sgiioc4.c @@ -590,7 +590,8 @@ sgiioc4_ide_setup_pci_device(struct pci_dev *dev) printk(KERN_ERR "%s %s -- ERROR: addresses 0x%08lx to 0x%08lx " "already in use\n", DRV_NAME, pci_name(dev), cmd_phys_base, cmd_phys_base + IOC4_CMD_CTL_BLK_SIZE); - return -EBUSY; + rc = -EBUSY; + goto req_mem_rgn_err; } /* Initialize the IO registers */ @@ -618,6 +619,7 @@ err_free: ide_host_free(host); err: release_mem_region(cmd_phys_base, IOC4_CMD_CTL_BLK_SIZE); +req_mem_rgn_err: iounmap(virt_base); return rc; }