qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [4294] FDC: Fix data transfer len (Herv?\195?\169 Poussinea


From: Blue Swirl
Subject: [Qemu-devel] [4294] FDC: Fix data transfer len (Herv?\195?\169 Poussineau)
Date: Thu, 01 May 2008 19:05:13 +0000

Revision: 4294
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4294
Author:   blueswir1
Date:     2008-05-01 19:05:12 +0000 (Thu, 01 May 2008)

Log Message:
-----------
FDC: Fix data transfer len (Herv?\195?\169 Poussineau)

In floppy controller, transfer data len is not correctly calculated.
We should read up to the last sector specified by the caller, and not up to
the last sector of the floppy.

Modified Paths:
--------------
    trunk/hw/fdc.c

Modified: trunk/hw/fdc.c
===================================================================
--- trunk/hw/fdc.c      2008-05-01 19:03:31 UTC (rev 4293)
+++ trunk/hw/fdc.c      2008-05-01 19:05:12 UTC (rev 4294)
@@ -1137,9 +1137,9 @@
     } else {
         int tmp;
         fdctrl->data_len = 128 << (fdctrl->fifo[5] > 7 ? 7 : fdctrl->fifo[5]);
-        tmp = (cur_drv->last_sect - ks + 1);
+        tmp = (fdctrl->fifo[6] - ks + 1);
         if (fdctrl->fifo[0] & 0x80)
-            tmp += cur_drv->last_sect;
+            tmp += fdctrl->fifo[6];
         fdctrl->data_len *= tmp;
     }
     fdctrl->eot = fdctrl->fifo[6];






reply via email to

[Prev in Thread] Current Thread [Next in Thread]