Browse Source

staging: rtl8192e: probe: iounmap mmio when probe fails

In case of probe failure, io memory was not released properly.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Mateusz Kulikowski 10 years ago
parent
commit
948fa942dc
1 changed files with 4 additions and 2 deletions
  1. 4 2
      drivers/staging/rtl8192e/rtl8192e/rtl_core.c

+ 4 - 2
drivers/staging/rtl8192e/rtl8192e/rtl_core.c

@@ -2642,12 +2642,12 @@ static int rtl8192_pci_probe(struct pci_dev *pdev,
 	pci_read_config_byte(pdev, 0x08, &revision_id);
 	/* If the revisionid is 0x10, the device uses rtl8192se. */
 	if (pdev->device == 0x8192 && revision_id == 0x10)
-		goto err_rel_mem;
+		goto err_unmap;
 
 	priv->ops = ops;
 
 	if (rtl92e_check_adapter(pdev, dev) == false)
-		goto err_rel_mem;
+		goto err_unmap;
 
 	dev->irq = pdev->irq;
 	priv->irq = 0;
@@ -2688,6 +2688,8 @@ static int rtl8192_pci_probe(struct pci_dev *pdev,
 err_free_irq:
 	free_irq(dev->irq, dev);
 	priv->irq = 0;
+err_unmap:
+	iounmap((void __iomem *)ioaddr);
 err_rel_mem:
 	release_mem_region(pmem_start, pmem_len);
 err_rel_rtllib: