From owner-freebsd-multimedia Fri Mar 13 04:21:14 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id EAA15706 for freebsd-multimedia-outgoing; Fri, 13 Mar 1998 04:21:14 -0800 (PST) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from labinfo.iet.unipi.it (labinfo.iet.unipi.it [131.114.9.5]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id EAA15683; Fri, 13 Mar 1998 04:21:01 -0800 (PST) (envelope-from luigi@labinfo.iet.unipi.it) Received: from localhost (luigi@localhost) by labinfo.iet.unipi.it (8.6.5/8.6.5) id LAA14841; Fri, 13 Mar 1998 11:52:33 +0100 From: Luigi Rizzo Message-Id: <199803131052.LAA14841@labinfo.iet.unipi.it> Subject: small sound (pcm) patches for 2.2.6! To: multimedia@FreeBSD.ORG, hackers@FreeBSD.ORG Date: Fri, 13 Mar 1998 11:52:33 +0100 (MET) X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Here are a few patches to my audio driver (from a recently cvsupped 2.2.6-BETA). The first two were already submitted some time ago but probably were applied to the wrong line. The last one fixes a problem that has been there for ages. I consider these important for 2.2.6 -- so please Jordan apply them. cheers luigi diff -ubwr /sys/i386/isa/snd/dmabuf.c snd/dmabuf.c --- /sys/i386/isa/snd/dmabuf.c Tue Mar 10 14:05:00 1998 +++ snd/dmabuf.c Sat Feb 28 13:08:32 1998 @@ -270,10 +270,10 @@ else timeout = 1 ; ret = tsleep( (caddr_t)b, PRIBIO|PCATCH, "dspwr", timeout); - if (ret == EINTR || ret == ERESTART) + if (ret == EINTR) d->flags |= SND_F_ABORTING ; splx(s); - if (ret == EINTR) + if (ret == EINTR || ret == ERESTART) break ; continue; } @@ -553,10 +553,10 @@ else timeout = 1; /* maybe data will be ready earlier */ ret = tsleep( (caddr_t)b, PRIBIO | PCATCH , "dsprd", timeout ) ; - if (ret == EINTR || ret == ERESTART) + if (ret == EINTR) d->flags |= SND_F_ABORTING ; splx(s); - if (ret == EINTR) + if (ret == EINTR || ret == ERESTART) break ; continue; } @@ -593,7 +593,7 @@ s = spltty(); /* no interrupts here ... */ d->flags &= ~SND_F_READING ; if (d->flags & SND_F_ABORTING) { - d->flags |= ~SND_F_ABORTING; + d->flags &= ~SND_F_ABORTING; /* XXX */ splx(s); dsp_rdabort(d, 1 /* restart */); /* XXX return EINTR ? */ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message