diff options
| author | Paul Saab <ps@FreeBSD.org> | 2004-04-14 18:55:28 +0000 |
|---|---|---|
| committer | Paul Saab <ps@FreeBSD.org> | 2004-04-14 18:55:28 +0000 |
| commit | 40f05b02ec75d0cdbba64d1c8c7901bf51c3b4ce (patch) | |
| tree | b7e94ee4b8eeeb593b5d9ccd87fe0db28ecbcd03 /sys/dev | |
| parent | 5e679b57b626be3f1fd5dd8c2b4e57fbfe3cf317 (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ciss/ciss.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/sys/dev/ciss/ciss.c b/sys/dev/ciss/ciss.c index 18d2fc64f6516..0988b3415d4b2 100644 --- a/sys/dev/ciss/ciss.c +++ b/sys/dev/ciss/ciss.c @@ -1696,20 +1696,8 @@ ciss_wait_request(struct ciss_request *cr, int timeout) return(error); s = splcam(); - while (cr->cr_flags & CISS_REQ_SLEEP) { - error = tsleep(cr, PCATCH, "cissREQ", (timeout * hz) / 1000); - /* - * On wakeup or interruption due to restartable activity, go - * back and check to see if we're done. - */ - if ((error == 0) || (error == ERESTART)) { - error = 0; - continue; - } - /* - * Timeout, interrupted system call, etc. - */ - break; + while ((cr->cr_flags & CISS_REQ_SLEEP) && (error != EWOULDBLOCK)) { + error = tsleep(cr, PRIBIO, "cissREQ", (timeout * hz) / 1000); } splx(s); return(error); |
