qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 06/11] fdc: Fix fallback=auto error handling


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 06/11] fdc: Fix fallback=auto error handling
Date: Mon, 20 Apr 2020 10:54:07 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

On 4/20/20 10:32 AM, Markus Armbruster wrote:
fdctrl_realize_common() rejects fallback=auto.  Used by devices
"isa-fdc", "sysbus-fdc", "SUNW,fdtwo".  The error handling is broken:

     $ qemu-system-x86_64 -nodefaults -device isa-fdc,fallback=auto,driveA=fd0 
-drive if=none,id=fd0
     **
     ERROR:/work/armbru/qemu/hw/block/fdc.c:434:pick_drive_type: assertion failed: 
(drv->drive != FLOPPY_DRIVE_TYPE_AUTO)
     Aborted (core dumped)

Cause: fdctrl_realize_common() neglects to bail out after setting the
error.  Fix that.

Fixes: a73275dd6fc3bfda33165bebc28e0c33c20cb0a0
Cc: John Snow <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
---
  hw/block/fdc.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/hw/block/fdc.c b/hw/block/fdc.c
index 33bc9e2f92..9628cc171e 100644
--- a/hw/block/fdc.c
+++ b/hw/block/fdc.c
@@ -2615,6 +2615,7 @@ static void fdctrl_realize_common(DeviceState *dev, 
FDCtrl *fdctrl,
if (fdctrl->fallback == FLOPPY_DRIVE_TYPE_AUTO) {
          error_setg(errp, "Cannot choose a fallback FDrive type of 'auto'");
+        return;
      }
/* Fill 'command_to_handler' lookup table */


Reviewed-by: Philippe Mathieu-Daudé <address@hidden>




reply via email to

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