From abb3cabfd611da290763adb7a531c6b0246885ce Mon Sep 17 00:00:00 2001 From: FUJISHIMA Satsuki Date: Tue, 1 Feb 2005 22:16:01 +0000 Subject: 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. --- audio/aureal-kmod/Makefile | 12 ++++++------ audio/aureal-kmod/files/patch-au88x0.c | 9 +++++++++ 2 files changed, 15 insertions(+), 6 deletions(-) (limited to 'audio/aureal-kmod') diff --git a/audio/aureal-kmod/Makefile b/audio/aureal-kmod/Makefile index 4fcb58960c1b..9bc5b055d769 100644 --- a/audio/aureal-kmod/Makefile +++ b/audio/aureal-kmod/Makefile @@ -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 diff --git a/audio/aureal-kmod/files/patch-au88x0.c b/audio/aureal-kmod/files/patch-au88x0.c index e04d3009dd1b..fed742dd039e 100644 --- a/audio/aureal-kmod/files/patch-au88x0.c +++ b/audio/aureal-kmod/files/patch-au88x0.c @@ -21,6 +21,15 @@ $FreeBSD$ #include 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, -- cgit v1.2.3