Move iounmap and pci_release_region to tpci200_unregister(), as it is the place
where the clean-up of the device is done.

Also, renamed iounmap() to pci_iounmap() as the mapped region was requested
from PCI bus.

Signed-off-by: Samuel Iglesias Gonsálvez <sigles...@igalia.com>
---
 drivers/staging/ipack/bridges/tpci200.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/ipack/bridges/tpci200.c 
b/drivers/staging/ipack/bridges/tpci200.c
index 22e3da1..383571c 100644
--- a/drivers/staging/ipack/bridges/tpci200.c
+++ b/drivers/staging/ipack/bridges/tpci200.c
@@ -64,10 +64,12 @@ static void tpci200_unregister(struct tpci200_board 
*tpci200)
        pci_iounmap(tpci200->info->pdev, tpci200->info->interface_regs);
        pci_iounmap(tpci200->info->pdev, tpci200->info->ioidint_space);
        pci_iounmap(tpci200->info->pdev, tpci200->info->mem8_space);
+       pci_iounmap(tpci200->info->pdev, tpci200->info->cfg_regs);
 
        pci_release_region(tpci200->info->pdev, TPCI200_IP_INTERFACE_BAR);
        pci_release_region(tpci200->info->pdev, TPCI200_IO_ID_INT_SPACES_BAR);
        pci_release_region(tpci200->info->pdev, TPCI200_MEM8_SPACE_BAR);
+       pci_release_region(tpci200->info->pdev, TPCI200_CFG_MEM_BAR);
 
        pci_disable_device(tpci200->info->pdev);
        pci_dev_put(tpci200->info->pdev);
@@ -750,9 +752,6 @@ static void __tpci200_pci_remove(struct tpci200_board 
*tpci200)
        tpci200_uninstall(tpci200);
        ipack_bus_unregister(tpci200->info->ipack_bus);
 
-       iounmap(tpci200->info->cfg_regs);
-       pci_release_region(tpci200->info->pdev, TPCI200_CFG_MEM_BAR);
-
        kfree(tpci200->info);
        kfree(tpci200);
 }
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to