[ide] why does WIN_DIAGNOSE not set READY_STAT

Till Straumann strauman at slac.stanford.edu
Wed Jan 9 19:47:10 CST 2008


I found that the RTEMS ATA driver hangs
because it waits for READY_STAT to be asserted
after issuing a WIN_DIAGNOSE command.

In hw/ide.c we find

>        case WIN_DIAGNOSE:
>             ide_set_signature(s);
>             s->status = 0x00; /* NOTE: READY is _not_ set */
>             s->error = 0x01;
>             ide_set_irq(s);
>             break;
but if I look at some ATA-3 (draft) document I found
linked from wikipedia


I find (pp 45,46) that the READY bit in fact should be set.


-- Till

(PS please CC-me on any replies, I'm not a subscriber)

More information about the rtems-users mailing list