--- linux-2.4.27-rc3/drivers/scsi/libata-core.c 2004-08-05 14:48:46.000000000 -0700 +++ linux/drivers/scsi/libata-core.c 2004-08-05 14:56:32.000000000 -0700 @@ -3379,14 +3379,14 @@ */ ap = host_set->ports[0]; sht = ap->host->hostt; - rc = scsi_unregister_module(MODULE_SCSI_HA, sht); + /* FIXME: handle 'rc' failure? */ free_irq(host_set->irq, host_set); - if (host_set->mmio_base) - iounmap(host_set->mmio_base); if (host_set->ports[0]->ops->host_stop) host_set->ports[0]->ops->host_stop(host_set); + if (host_set->mmio_base) + iounmap(host_set->mmio_base); pci_release_regions(pdev);