diff options
-rw-r--r-- | sys/i386/isa/atapi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/i386/isa/atapi.c b/sys/i386/isa/atapi.c index 2d76b8c..0efa4d5 100644 --- a/sys/i386/isa/atapi.c +++ b/sys/i386/isa/atapi.c @@ -887,7 +887,8 @@ struct atapires atapi_request_wait (struct atapi *ata, int unit, ac->cmd[13], ac->cmd[14], ac->cmd[15], count); atapi_enqueue (ata, ac); wdstart (ata->ctrlr); - tsleep ((caddr_t)ac, PRIBIO, "atareq", 0); + if (ata->tail == ac) + tsleep ((caddr_t)ac, PRIBIO, "atareq", 0); result = ac->result; atapi_free (ata, ac); |