summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Shtylyov <sshtylyov@ru.mvista.com>2009-03-05 16:10:56 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2009-03-16 17:32:44 -0700
commitccf126745f267d8778c3c8bd545d1004ca8d042c (patch)
tree4e5db4e6ae85e2e66ec53324875f09b94f2f6e6a
parentbf7fced49e689f01f0b5c12046e193116aa03221 (diff)
downloadlinux-stable-ccf126745f267d8778c3c8bd545d1004ca8d042c.tar.gz
ide-iops: fix odd-length ATAPI PIO transfers
commit a509538d4fb4f99cdf0a095213d57cc3b2347615 upstream. Commit 9567b349f7e7dd7e2483db99ee8e4a6fe0caca38 (ide: merge ->atapi_*put_bytes and ->ata_*put_data methods) introduced a regression WRT the odd-length ATAPI PIO transfers -- the final word didn't get written (causing command timeouts). Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/ide/ide-iops.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c
index c41c3b9b6f02..e60fc6314249 100644
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -324,6 +324,8 @@ void ide_output_data(ide_drive_t *drive, struct request *rq, void *buf,
u8 io_32bit = drive->io_32bit;
u8 mmio = (hwif->host_flags & IDE_HFLAG_MMIO) ? 1 : 0;
+ len++;
+
if (io_32bit) {
unsigned long uninitialized_var(flags);