diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 4f7480ff9af11e7b11736cd1e2b9ac5a9ffe3d28..6049083ecfe31df67a31e51c3e5a77c8ab86cbd6 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -6755,6 +6755,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]);