qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 2/2] fdc: fix media detection


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH 2/2] fdc: fix media detection
Date: Tue, 22 May 2012 14:01:31 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

Am 22.05.2012 12:59, schrieb Pavel Hrdina:
> We have to set up 'media_changed' after guest start so floppy driver
> could detect that there is no media in drive. For this purpose we call
> 'fdctrl_change_cb' instead of 'fd_revalidate' in 'fdctrl_connect_drives'.
> 'fd_revalidate' is called inside 'fdctrl_change_cb'.
> 
> In 'fdctrl_handle_seek' we always set current track because we don't care
> if there is media inserted or not.
> 
> Signed-off-by: Pavel Hrdina <address@hidden>

Can you please add a qtest case that shows the problems that you're
fixing in this series?

> diff --git a/hw/fdc.c b/hw/fdc.c
> index cb4cd25..337b35a 100644
> --- a/hw/fdc.c
> +++ b/hw/fdc.c
> @@ -1617,11 +1617,7 @@ static void fdctrl_handle_seek(FDCtrl *fdctrl, int 
> direction)
>      /* The seek command just sends step pulses to the drive and doesn't care 
> if
>       * there is a medium inserted of if it's banging the head against the 
> drive.
>       */
> -    if (fdctrl->fifo[2] > cur_drv->max_track) {
> -        cur_drv->track = cur_drv->max_track;
> -    } else {
> -        cur_drv->track = fdctrl->fifo[2];
> -    }
> +    cur_drv->track = fdctrl->fifo[2];

Why is it okay to have cur_drv->track point outside the floppy? Won't it
mess up future calculations? Not all other places check it again
cur_drv->max_track.

Kevin



reply via email to

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