#include <asm/io.h>
 
 #define DRV_NAME       "ahci"
-#define DRV_VERSION    "1.00"
+#define DRV_VERSION    "1.01"
 
 
 enum {
 
        have_msi = hpriv->have_msi;
        free_irq(host_set->irq, host_set);
-       host_set->ops->host_stop(host_set);
-       iounmap(host_set->mmio_base);
 
        for (i = 0; i < host_set->n_ports; i++) {
                ap = host_set->ports[i];
                scsi_host_put(ap->host);
        }
 
+       host_set->ops->host_stop(host_set);
+       kfree(host_set);
+
        if (have_msi)
                pci_disable_msi(pdev);
        else
                pci_intx(pdev, 0);
        pci_release_regions(pdev);
-       kfree(host_set);
        pci_disable_device(pdev);
        dev_set_drvdata(dev, NULL);
 }