diff --git a/[refs] b/[refs] index fbe41301215c..e987ebb67088 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ce2e0abbd31b047ac7be740d28ef710f5bbdb105 +refs/heads/master: 7f9ad9b8b96855f529f4fe9db0bf32cd3f14c01b diff --git a/trunk/drivers/ata/libata-core.c b/trunk/drivers/ata/libata-core.c index 99a18cea316a..c316eacbeddd 100644 --- a/trunk/drivers/ata/libata-core.c +++ b/trunk/drivers/ata/libata-core.c @@ -7210,18 +7210,14 @@ static void ata_port_detach(struct ata_port *ap) ata_port_wait_eh(ap); - /* EH is now guaranteed to see UNLOADING, so no new device - * will be attached. Disable all existing devices. + /* EH is now guaranteed to see UNLOADING - EH context belongs + * to us. Disable all existing devices. */ - spin_lock_irqsave(ap->lock, flags); - ata_port_for_each_link(link, ap) { ata_link_for_each_dev(dev, link) ata_dev_disable(dev); } - spin_unlock_irqrestore(ap->lock, flags); - /* Final freeze & EH. All in-flight commands are aborted. EH * will be skipped and retrials will be terminated with bad * target.