this will fix crash bug when doing rmmod to the driver, this is because the
port_stop function get called later and it could access the device's registers.

Signed-off-by: Saeed Bishara <[EMAIL PROTECTED]>
---
 drivers/ata/sata_mv.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 9c9a5b0..f510448 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -2951,7 +2951,8 @@ static int mv_platform_probe(struct platform_device *pdev)
        hpriv->n_ports = n_ports;
 
        host->iomap = NULL;
-       hpriv->base = ioremap(res->start, res->end - res->start + 1);
+       hpriv->base = devm_ioremap(&pdev->dev, res->start,
+                                  res->end - res->start + 1);
        hpriv->base -= MV_SATAHC0_REG_BASE;
 
        rc = mv_create_dma_pools(hpriv, &pdev->dev);
@@ -2983,11 +2984,8 @@ static int __devexit mv_platform_remove(struct 
platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
        struct ata_host *host = dev_get_drvdata(dev);
-       struct mv_host_priv *hpriv = host->private_data;
-       void __iomem *base = hpriv->base;
 
        ata_host_detach(host);
-       iounmap(base);
        return 0;
 }
 
-- 
1.5.2.5

-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to