summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2012-01-31 12:57:21 +0000
committermav <mav@FreeBSD.org>2012-01-31 12:57:21 +0000
commit389770ef4f6da308112c9f5f4e8fe560296f1185 (patch)
tree939c8de906cf9000d1d9fe7b36beceb23d6f517d /sys/dev
parent58f6866e8634f7d0ad16e3ce57079954171c2a4c (diff)
downloadFreeBSD-src-389770ef4f6da308112c9f5f4e8fe560296f1185.zip
FreeBSD-src-389770ef4f6da308112c9f5f4e8fe560296f1185.tar.gz
Just in case, clear stream interrupts before enabling them.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/sound/pci/hda/hdac.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c
index cdbd650..90f3181 100644
--- a/sys/dev/sound/pci/hda/hdac.c
+++ b/sys/dev/sound/pci/hda/hdac.c
@@ -1921,6 +1921,8 @@ hdac_stream_start(device_t dev, device_t child,
ctl |= 1 << ss;
HDAC_WRITE_4(&sc->mem, HDAC_INTCTL, ctl);
+ HDAC_WRITE_1(&sc->mem, off + HDAC_SDSTS,
+ HDAC_SDSTS_DESE | HDAC_SDSTS_FIFOE | HDAC_SDSTS_BCIS);
ctl = HDAC_READ_1(&sc->mem, off + HDAC_SDCTL0);
ctl |= HDAC_SDCTL_IOCE | HDAC_SDCTL_FEIE | HDAC_SDCTL_DEIE |
HDAC_SDCTL_RUN;
OpenPOWER on IntegriCloud