staging: slicoss: free IO remapping on failure
authorKristina Martšenko <kristina.martsenko@gmail.com>
Tue, 18 Mar 2014 15:05:56 +0000 (17:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Mar 2014 19:11:55 +0000 (12:11 -0700)
Make sure iounmap is always called after ioremap when module loading
fails. Also remove a call to release_mem_region because that region is
never reserved in the first place.

Fixes the following issue reported by Coccinelle:
drivers/staging/slicoss/slicoss.c:3727:1-7: ERROR: missing iounmap; ioremap on line 3661 and execution via conditional on line 3677

Signed-off-by: Kristina Martšenko <kristina.martsenko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/slicoss/slicoss.c

index 55e4d82..e27b88f 100644 (file)
@@ -3676,7 +3676,7 @@ static int slic_entry_probe(struct pci_dev *pcidev,
        err = slic_card_locate(adapter);
        if (err) {
                dev_err(&pcidev->dev, "cannot locate card\n");
-               goto err_out_free_mmio_region;
+               goto err_out_unmap;
        }
 
        card = adapter->card;
@@ -3716,8 +3716,6 @@ static int slic_entry_probe(struct pci_dev *pcidev,
 
 err_out_unmap:
        iounmap(memmapped_ioaddr);
-err_out_free_mmio_region:
-       release_mem_region(mmio_start, mmio_len);
 err_out_free_netdev:
        free_netdev(netdev);
 err_out_exit_slic_probe: