On 04/24/2012 11:06 AM, Stefan Hajnoczi wrote:
On Mon, Apr 23, 2012 at 5:06 PM, Pavel Hrdina<phrd...@redhat.com>  wrote:
Hi,
this is the patch to fix incorrect handling of IDE floppy drive controller 
emulation
s/IDE//

It's unrelated to IDE.

@@ -937,6 +940,9 @@ static int fdctrl_media_changed(FDrive *drv)

     if (!drv->bs)
         return 0;
+    /* This is needed for driver to detect there is no media in drive */
+    if (!bdrv_is_inserted(drv->bs))
+        return 1;
     if (drv->media_changed) {
         drv->media_changed = 0;
         ret = 1;
Why isn't the BlockDevOps.change_media_cb() mechanism enough to report
disk changes correctly?

Stefan
You can look here, http://www.isdaman.com/alsos/hardware/fdc/floppy.htm , for specification of DIR register. Bit7 is there as CHAN and in this bit is saved information whether media is changed or not. This bit is set to true while there is no media. And floppy driver is checking this bit to detect media change or media missing.

Reply via email to