libata/pdc_adma: make SFF EH handle non-bmdma SFF drivers and standardize pdc_adma ops
authorTejun Heo <htejun@gmail.com>
Tue, 25 Mar 2008 12:34:39 +0000 (21:34 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Thu, 17 Apr 2008 19:44:20 +0000 (15:44 -0400)
commited82f96425e744dffe62115e46f08eb785c0b2f3
treea4c61c016c6bd340d941ad141c14a8f7d837ab7f
parentd8b81b8008a0f131e01bb6eb5c681c900c327e2b
libata/pdc_adma: make SFF EH handle non-bmdma SFF drivers and standardize pdc_adma ops

pdc_adma has interface similar to SFF but has its own DMA interface.
It currently implements noop bmdma ops to avoid crashing
ata_bmdma_error_handler() which BTW actually is EH for SFF drivers.

This patch makes ata_bmdma_error_handler() dereference bmdma ops iff
bmdma_addr is initialized as done in ata_bmdma_post_internal_cmd.
This change allows pdc_adma to standardize ops and use SFF
error_handler and post_internal_cmd.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Mark Lord <liml@rtr.ca>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/libata-sff.c
drivers/ata/pdc_adma.c