* Mark Lord [EMAIL PROTECTED] [2008-02-13 14:31]:
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;
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.
Where does the iounmap() now get done instead of that place?
nowhere, the /proc/iomem still shows that sata_mv uses io mempry
saeed bishara wrote:
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.
Where does the iounmap() now get done instead of that place?
nowhere, the /proc/iomem still shows that
Mmm.. sounds like a bug to me. Possibly two bugs:
1. the ioremap() should fail if the range is already mapped, and
2. we should free the resources on module unload.
I suppose this would be mostly automatic if the code simply
were to use devm_ioremap() instead of ioremap().
my
saeed bishara wrote:
Mmm.. sounds like a bug to me. Possibly two bugs:
1. the ioremap() should fail if the range is already mapped, and
2. we should free the resources on module unload.
I suppose this would be mostly automatic if the code simply
were to use devm_ioremap() instead of
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 |3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff
Saeed Bishara wrote:
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 |3 ---
1 files changed, 0