--- linux-2.6.8-rc2/drivers/scsi/libata-core.c 2004-08-05 14:17:30.000000000 -0700 +++ linux/drivers/scsi/libata-core.c 2004-07-27 14:42:06.000000000 -0700 @@ -3251,10 +3251,10 @@ } free_irq(host_set->irq, host_set); - if (host_set->mmio_base) - iounmap(host_set->mmio_base); if (host_set->ops->host_stop) host_set->ops->host_stop(host_set); + if (host_set->mmio_base) + iounmap(host_set->mmio_base); for (i = 0; i < host_set->n_ports; i++) { ap = host_set->ports[i];