summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/io/audio
diff options
context:
space:
mode:
authorGarrett D'Amore <gdamore@opensolaris.org>2009-12-22 20:59:01 -0800
committerGarrett D'Amore <gdamore@opensolaris.org>2009-12-22 20:59:01 -0800
commit7f8098eddd24ef5d0d43749a8f4c2c245bdcc077 (patch)
treee6a7db219f6c2de1f3477ec1234d4f74decd9a71 /usr/src/uts/common/io/audio
parentefd79def451f0d9b011753ff82470add4e788ec5 (diff)
downloadillumos-gate-7f8098eddd24ef5d0d43749a8f4c2c245bdcc077.tar.gz
6912630 audiosolo static during repeated testing
6912773 panic on unload of audiosolo
Diffstat (limited to 'usr/src/uts/common/io/audio')
-rw-r--r--usr/src/uts/common/io/audio/drv/audiosolo/audiosolo.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/usr/src/uts/common/io/audio/drv/audiosolo/audiosolo.c b/usr/src/uts/common/io/audio/drv/audiosolo/audiosolo.c
index fe90f0dc32..be56a057f8 100644
--- a/usr/src/uts/common/io/audio/drv/audiosolo/audiosolo.c
+++ b/usr/src/uts/common/io/audio/drv/audiosolo/audiosolo.c
@@ -788,6 +788,7 @@ solo_aud1_start(solo_engine_t *e)
ASSERT(mutex_owned(&dev->mutex));
+ e->offset = 0;
len = SOLO_FRAGSZ / 2;
len = -len;
@@ -869,6 +870,7 @@ solo_aud2_start(solo_engine_t *e)
ASSERT(mutex_owned(&dev->mutex));
+ e->offset = 0;
len = SOLO_FRAGSZ / 2;
len = -len;
@@ -1110,6 +1112,12 @@ solo_release_resources(solo_dev_t *dev)
audio_engine_free(dev->rec.engine);
}
+ for (int i = 0; i < CTL_NUM; i++) {
+ if (dev->ctrls[i].ctrl != NULL) {
+ audio_dev_del_control(dev->ctrls[i].ctrl);
+ }
+ }
+
if (dev->adev != NULL) {
audio_dev_free(dev->adev);
}
@@ -1283,7 +1291,6 @@ solo_alloc_engine(solo_dev_t *dev, int engno)
return (false);
}
- printf("%s %sswapped!", desc, e->swapped ? "" : "not ");
e->dev = dev;
if (ddi_dma_alloc_handle(dev->dip, dattr, DDI_DMA_SLEEP, NULL,