libata: implement ATA_HORKAGE_ATAPI_MOD16_DMA and apply it
authorTejun Heo <tj@kernel.org>
Mon, 3 Nov 2008 10:01:09 +0000 (19:01 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 4 Nov 2008 06:08:27 +0000 (01:08 -0500)
commit6a87e42e955ff27e07a77f65f8f077dc7c4171e1
treee5d50b2b91c17c6719b75bbd88ea5cbed4130304
parenta464189de350b050aa8f334bd4cc53ed406e56dd
libata: implement ATA_HORKAGE_ATAPI_MOD16_DMA and apply it

libata always uses PIO for ATAPI commands when the number of bytes to
transfer isn't multiple of 16 but quantum DAT72 chokes on odd bytes
PIO transfers.  Implement a horkage to skip the mod16 check and apply
it to the quantum device.

This is reported by John Clark in the following thread.

  http://thread.gmane.org/gmane.linux.ide/34748

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: John Clark <clarkjc@runbox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-core.c
include/linux/libata.h