Am 18.08.2016 um 11:48 hat Hervé Poussineau geschrieben: > This fixes Windows NT4 startup when a cdrom is inserted. > > Fixes: 9ef2e93f9b1888c7d0deb4a105149138e6ad2e98 > Signed-off-by: Hervé Poussineau <hpous...@reactos.org>
Hm, which of the paths in cmd_read_cd() does this hit? Is it the one that directly calls ide_atapi_cmd_ok() without doing anything? I think adding NONDATA is okay, but we may need to add explicit atapi_byte_count_limit() == 0 checks to those paths that do transfer some data. At least at first sight I'm not sure that ide_atapi_cmd_read() can handle this. Kevin > hw/ide/atapi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c > index 6189675..63312f2 100644 > --- a/hw/ide/atapi.c > +++ b/hw/ide/atapi.c > @@ -1289,7 +1289,7 @@ static const struct AtapiCmd { > [ 0xad ] = { cmd_read_dvd_structure, CHECK_READY }, > [ 0xbb ] = { cmd_set_speed, NONDATA }, > [ 0xbd ] = { cmd_mechanism_status, 0 }, > - [ 0xbe ] = { cmd_read_cd, CHECK_READY }, > + [ 0xbe ] = { cmd_read_cd, CHECK_READY | NONDATA }, > /* [1] handler detects and reports not ready condition itself */ > };