mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-24 04:33:24 +00:00
MFsrc: fix by yongari
|Audio drivers failed to detect failure condition and attempted to |assign DMA address to the wrong address. It can cause system lockup |or other mysterious errors. Since most sound cards requires low DMA |address(BUS_SPACE_MAXADDR_24BIT) sndbuf_alloc() would fail when the |audio driver is loaded after long running of operations.
This commit is contained in:
parent
3006b4dde9
commit
abb3cabfd6
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=127877
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= aureal-kmod
|
||||
PORTVERSION= 1.5
|
||||
PORTREVISION= 4
|
||||
PORTREVISION= 4.1
|
||||
CATEGORIES= audio
|
||||
MASTER_SITES= http://home.columbus.rr.com/amatey/au88x0/
|
||||
DISTNAME= au88x0-${PORTVERSION}_${PORTREVISION}
|
||||
@ -44,7 +44,7 @@ IGNORE= "FreeBSD 3.*, 4.0 are not supported"
|
||||
.elif ${OSVERSION} < 420000
|
||||
# FreeBSD 4.1, 4.1.1
|
||||
PORTVERSION= 1.1
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 3.1
|
||||
|
||||
.elif ${OSVERSION} < 440000
|
||||
# FreeBSD 4.2, 4.3
|
||||
@ -52,18 +52,18 @@ PORTVERSION= 1.3
|
||||
|
||||
.if ${VERSION_SOUND_C_MINOR} < 4
|
||||
# FreeBSD 4.2 before kobj MFC
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 1.1
|
||||
|
||||
.else
|
||||
# FreeBSD 4.2 after kobj MFC, FreeBSD 4.3
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 2.1
|
||||
MAKE_ENV+= HAVE_KOBJ_PCM=1
|
||||
.endif
|
||||
|
||||
.elif ${OSVERSION} < 450004
|
||||
# FreeBSD 4.4, 4.5-
|
||||
PORTVERSION= 1.3
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 3.1
|
||||
MAKE_ENV+= HAVE_KOBJ_PCM=1
|
||||
|
||||
.elif ${OSVERSION} < 500000
|
||||
@ -72,7 +72,7 @@ MAKE_ENV+= HAVE_KOBJ_PCM=1
|
||||
IGNORE= "Base system is outdated. This port needs -STABLE after 2002-04-22."
|
||||
.endif
|
||||
PORTVERSION= 1.3
|
||||
PORTREVISION= 4
|
||||
PORTREVISION= 4.1
|
||||
MAKE_ENV+= HAVE_KOBJ_PCM=1
|
||||
.endif
|
||||
|
||||
|
@ -21,6 +21,15 @@ $FreeBSD$
|
||||
#include <sys/queue.h>
|
||||
|
||||
SND_DECLARE_FILE("$FreeBSD$");
|
||||
@@ -573,7 +579,7 @@
|
||||
ch->channel = c;
|
||||
ch->buffer = b;
|
||||
ch->run = 0;
|
||||
- if (sndbuf_alloc(ch->buffer, au->parent_dmat, AU_BUFFSIZE) == -1) {
|
||||
+ if (sndbuf_alloc(ch->buffer, au->parent_dmat, AU_BUFFSIZE) != 0) {
|
||||
printf("sndbuf_alloc failed\n");
|
||||
return NULL;
|
||||
}
|
||||
@@ -852,7 +858,11 @@
|
||||
/*highaddr*/BUS_SPACE_MAXADDR,
|
||||
/*filter*/NULL, /*filterarg*/NULL,
|
||||
|
Loading…
Reference in New Issue
Block a user