summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorjmcneill <jmcneill@NetBSD.org>2008-06-02 13:30:38 +0000
committerjmcneill <jmcneill@NetBSD.org>2008-06-02 13:30:38 +0000
commit2134b4663b31883cce11ecede89060db84fc6da5 (patch)
tree73b95e755f922830decc5b1556d2eb2841d4742e /sys/dev
parent5d6885cee8cd91a5baa640b1751701aef1038a0d (diff)
Halt streams before deleting them on detach.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/azalia.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/pci/azalia.c b/sys/dev/pci/azalia.c
index 4b328c8a945..3e71b8f4c36 100644
--- a/sys/dev/pci/azalia.c
+++ b/sys/dev/pci/azalia.c
@@ -1,4 +1,4 @@
-/* $NetBSD: azalia.c,v 1.59 2008/06/02 13:25:03 jmcneill Exp $ */
+/* $NetBSD: azalia.c,v 1.60 2008/06/02 13:30:38 jmcneill Exp $ */
/*-
* Copyright (c) 2005 The NetBSD Foundation, Inc.
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: azalia.c,v 1.59 2008/06/02 13:25:03 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: azalia.c,v 1.60 2008/06/02 13:30:38 jmcneill Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -402,6 +402,10 @@ azalia_pci_detach(device_t self, int flags)
if (az->audiodev != NULL)
config_detach(az->audiodev, flags);
+ DPRINTF(("%s: halt streams\n", __func__));
+ azalia_stream_halt(&az->rstream);
+ azalia_stream_halt(&az->pstream);
+
DPRINTF(("%s: delete streams\n", __func__));
azalia_stream_delete(&az->rstream, az);
azalia_stream_delete(&az->pstream, az);