From 5b3bcf18e866636f24ca1c23eb94d5caf23c6dd6 Mon Sep 17 00:00:00 2001
Message-Id: <5b3bcf18e866636f24ca1c23eb94d5caf23c6dd6.1343915404.git.minovotn@redhat.com>
From: Pavel Hrdina <phrdina@redhat.com>
Date: Mon, 16 Jul 2012 16:14:50 +0200
Subject: [PATCH 1/7] fdc: DIR (Digital Input Register) should return status
 of current drive...
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

RH-Author: Pavel Hrdina <phrdina@redhat.com>
Message-id: <5c86e73b4504e907519d79483cb44f8484c7870a.1342446805.git.phrdina@redhat.com>
Patchwork-id: 40337
O-Subject: [RHEL-6.4 qemu-kvm PATCH v6 1/6] fdc: DIR (Digital Input Register) should return status of current drive...
Bugzilla: 729244
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Michal Novotny <minovotn@redhat.com>

From: Hervé Poussineau <hpoussin@reactos.org>

Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit a2df5fa324cd09a31225701e5b2f9fb067c237cd)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
---
 hw/fdc.c |   13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

Signed-off-by: Michal Novotny <minovotn@redhat.com>
---
 hw/fdc.c |   13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/hw/fdc.c b/hw/fdc.c
index 3c28c52..c978a19 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -319,6 +319,7 @@ static void fdctrl_write_rate (fdctrl_t *fdctrl, uint32_t value);
 static uint32_t fdctrl_read_data (fdctrl_t *fdctrl);
 static void fdctrl_write_data (fdctrl_t *fdctrl, uint32_t value);
 static uint32_t fdctrl_read_dir (fdctrl_t *fdctrl);
+static fdrive_t *get_cur_drv(fdctrl_t *fdctrl);
 
 enum {
     FD_DIR_WRITE   = 0,
@@ -1020,16 +1021,12 @@ static uint32_t fdctrl_read_dir (fdctrl_t *fdctrl)
 {
     uint32_t retval = 0;
 
-    if (fdctrl_media_changed(drv0(fdctrl))
-     || fdctrl_media_changed(drv1(fdctrl))
-#if MAX_FD == 4
-     || fdctrl_media_changed(drv2(fdctrl))
-     || fdctrl_media_changed(drv3(fdctrl))
-#endif
-        )
+    if (fdctrl_media_changed(get_cur_drv(fdctrl))) {
         retval |= FD_DIR_DSKCHG;
-    if (retval != 0)
+    }
+    if (retval != 0) {
         FLOPPY_DPRINTF("Floppy digital input register: 0x%02x\n", retval);
+    }
 
     return retval;
 }
-- 
1.7.10.4

