libata/sff: Use ops->bmdma_stop instead of ata_bmdma_stop()

In libata-sff, ata_sff_post_internal_cmd() directly calls ata_bmdma_stop()
instead of ap->ops->bmdma_stop(). This can be a problem for controllers
that use their own bmdma_stop for which the generic sff one isn't suitable

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
Benjamin Herrenschmidt 2009-12-01 14:36:28 +00:00
parent d58b0c39e3
commit f0353813af

View File

@ -2384,7 +2384,7 @@ void ata_sff_post_internal_cmd(struct ata_queued_cmd *qc)
ap->hsm_task_state = HSM_ST_IDLE;
if (ap->ioaddr.bmdma_addr)
ata_bmdma_stop(qc);
ap->ops->bmdma_stop(qc);
spin_unlock_irqrestore(ap->lock, flags);
}