libata: ata_dev_disable() should be called from EH context
authorTejun Heo <htejun@gmail.com>
Sat, 15 Dec 2007 06:05:00 +0000 (15:05 +0900)
committerJeff Garzik <jeff@garzik.org>
Tue, 18 Dec 2007 01:33:12 +0000 (20:33 -0500)
commit7f9ad9b8b96855f529f4fe9db0bf32cd3f14c01b
tree955a9d2d53d7956319442e0321e37119a962ee9e
parentce2e0abbd31b047ac7be740d28ef710f5bbdb105
libata: ata_dev_disable() should be called from EH context

ata_port_detach() calls ata_dev_disable() with host lock held but
ata_dev_disable() should be called from EH context.  ata_port_detach()
steals EH context by setting ATA_PFLAG_UNLOADAING and flushing EH.
Drop locking around ata_dev_disable() and note that ata_port_detach()
owns EH context at that point.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/libata-core.c