diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 28c492be0a572fa47c36d8cc9973c7dbfaec2fbf..74c9b3032d46fa1f1c915629abad95316b36c93b 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -6708,6 +6708,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]);