diff options
author | Sergei Shtylyov <sshtylyov@ru.mvista.com> | 2009-03-05 16:10:56 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-03-16 17:53:03 -0700 |
commit | 95a003875dc31af043361167132f974ac5ab7611 (patch) | |
tree | 66c1635b8033ec2a752664433261053b1f3dd300 | |
parent | faccffd54fa78cc094740ccc902e0a1189c61c27 (diff) |
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.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index 2cbadffe922..40fbf420632 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c @@ -325,6 +325,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); |