diff --git a/sys/i386/isa/snd/dmabuf.c b/sys/i386/isa/snd/dmabuf.c index 86f930462a4b..a19ccc48500e 100644 --- a/sys/i386/isa/snd/dmabuf.c +++ b/sys/i386/isa/snd/dmabuf.c @@ -270,7 +270,7 @@ dsp_write_body(snddev_info *d, struct uio *buf) else timeout = 1 ; ret = tsleep( (caddr_t)b, PRIBIO|PCATCH, "dspwr", timeout); - if (ret == EINTR) + if (ret == EINTR || ret == ERESTART) d->flags |= SND_F_ABORTING ; splx(s); if (ret == EINTR) @@ -553,7 +553,7 @@ dsp_read_body(snddev_info *d, struct uio *buf) else timeout = 1; /* maybe data will be ready earlier */ ret = tsleep( (caddr_t)b, PRIBIO | PCATCH , "dsprd", timeout ) ; - if (ret == EINTR) + if (ret == EINTR || ret == ERESTART) d->flags |= SND_F_ABORTING ; splx(s); if (ret == EINTR)