25.12.2013 18:17, David du Colombier wrote: > This notably fix IDE CD probing on the Plan 9 operating system, > which rely on the error register set by the Execute Device > Diagnostic command to detect drive configurations.
While this is a one-liner, I'm not sure it is "trivial enough", just because it is not at all obvious we shuold clear error here and not somewhere else. I mean, shouldn't s->error be cleared somewhere when next request is queued, or something like that? That's basically why I haven't applied this initially. CC'ing qemu-devel. Thanks, /mjt > Thanks to Rémi Pommarel for reporting this issue. > > Signed-off-by: David du Colombier <0in...@gmail.com> > --- > hw/ide/core.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/ide/core.c b/hw/ide/core.c > index e1f4c33..7783d58 100644 > --- a/hw/ide/core.c > +++ b/hw/ide/core.c > @@ -1321,6 +1321,7 @@ static bool cmd_exec_dev_diagnostic(IDEState *s, > uint8_t cmd) > s->status = 0; /* ATAPI spec (v6) section 9.10 defines packet > * devices to return a clear status register > * with READY_STAT *not* set. */ > + s->error = 0x01; > } else { > s->status = READY_STAT | SEEK_STAT; > /* The bits of the error register are not as usual for this command! >