diff options
author | jhb <jhb@FreeBSD.org> | 2007-02-23 16:25:08 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2007-02-23 16:25:08 +0000 |
commit | e21fb2b555d36a49b232ee191ef77f745b6c5280 (patch) | |
tree | e93bd90cb35a83882bef6ca2e41bbf03c4c5a077 /sys/dev/ata/atapi-tape.c | |
parent | 401f7aaf8a4b36c5409b47caeb111224c19cfa64 (diff) | |
download | FreeBSD-src-e21fb2b555d36a49b232ee191ef77f745b6c5280.zip FreeBSD-src-e21fb2b555d36a49b232ee191ef77f745b6c5280.tar.gz |
Use 'pause' in several places rather than trying to tsleep() on NULL (which
triggers a KASSERT) or local variables. In the case of kern_ndis, the
tsleep() actually used a common sleep address (curproc) making it
susceptible to a premature wakeup.
Diffstat (limited to 'sys/dev/ata/atapi-tape.c')
-rw-r--r-- | sys/dev/ata/atapi-tape.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/ata/atapi-tape.c b/sys/dev/ata/atapi-tape.c index 12a9ce1..360e006 100644 --- a/sys/dev/ata/atapi-tape.c +++ b/sys/dev/ata/atapi-tape.c @@ -612,7 +612,7 @@ ast_load_unload(device_t dev, u_int8_t function) error = ata_atapicmd(dev, ccb, NULL, 0, 0, 10); if (error) return error; - tsleep((caddr_t)&error, PRIBIO, "astlu", 1 * hz); + pause("astlu", 1 * hz); if (function == ATAPI_SS_EJECT) return 0; return ast_wait_dsc(dev, 60*60); @@ -665,7 +665,7 @@ ast_wait_dsc(device_t dev, int timeout) error = ata_atapicmd(dev, ccb, NULL, 0, 0, 0); if (error != EBUSY) break; - tsleep(&error, PRIBIO, "atpwt", hz / 2); + pause("atpwt", hz / 2); timeout -= (hz / 2); } return error; |