diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index a352f09baef686..fc4bf8ff40ead0 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -6355,6 +6355,9 @@ void ata_host_detach(struct ata_host *host) { int i; + /* Ensure ata_port probe has completed */ + async_synchronize_full(); + for (i = 0; i < host->n_ports; i++) ata_port_detach(host->ports[i]);