ide: also reset io_buffer_index for writes
authorChristoph Hellwig <hch@lst.de>
Mon, 20 Dec 2010 12:45:58 +0000 (13:45 +0100)
committerKevin Wolf <kwolf@redhat.com>
Mon, 24 Jan 2011 10:08:51 +0000 (11:08 +0100)
Currenly the code only resets the io_buffer_index field for reads,
but the code seems to expect this for all types of I/O.  I guess
we simply don't hit large enough transfers that would require this
often enough.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
hw/ide/core.c

index e93dd4616c48d0fd327b6a110fa7f10d90d7e285..12b9c53f73a9e47d227c9ff12fe4c12595b6ecc3 100644 (file)
@@ -521,8 +521,7 @@ void ide_dma_cb(void *opaque, int ret)
 
     /* launch next transfer */
     n = s->nsector;
-    if (s->is_read)
-        s->io_buffer_index = 0;
+    s->io_buffer_index = 0;
     s->io_buffer_size = n * 512;
     if (s->bus->dma->ops->prepare_buf(s->bus->dma, s->is_read) == 0)
         goto eot;