[Top][All Lists]
[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