pch_can: fix rmmod issue
authorTomoya <tomoya-linux@dsn.okisemi.com>
Mon, 7 Feb 2011 23:29:02 +0000 (23:29 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Feb 2011 00:37:19 +0000 (16:37 -0800)
Currently, when rmmod pch_can, kernel failure occurs.
The cause is pci_iounmap executed before pch_can_reset.
Thus pci_iounmap moves after pch_can_reset.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/can/pch_can.c

index 9b171d12f7935892ec0caaa49b8aded16e5f2786..342d514c5e847d81955f23ff130e3d94f62b1944 100644 (file)
@@ -959,13 +959,13 @@ static void __devexit pch_can_remove(struct pci_dev *pdev)
        struct pch_can_priv *priv = netdev_priv(ndev);
 
        unregister_candev(priv->ndev);
-       pci_iounmap(pdev, priv->regs);
        if (priv->use_msi)
                pci_disable_msi(priv->dev);
        pci_release_regions(pdev);
        pci_disable_device(pdev);
        pci_set_drvdata(pdev, NULL);
        pch_can_reset(priv);
+       pci_iounmap(pdev, priv->regs);
        free_candev(priv->ndev);
 }