]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
sound/hda: fix interrupt handler endless loop after r362294
authorAndriy Gapon <avg@FreeBSD.org>
Fri, 26 Jun 2020 09:46:03 +0000 (09:46 +0000)
committerAndriy Gapon <avg@FreeBSD.org>
Fri, 26 Jun 2020 09:46:03 +0000 (09:46 +0000)
commit430220838880ba76bf87b2b45e5aa9341bbb717a
treee41962fe7da42c823f4237b6ee23daba3e97bf46
parentc707e36ef93ca51e049100b685db42dfb33ef04d
sound/hda: fix interrupt handler endless loop after r362294

Not all interrupt sources that affect CIS bit were acknowledged.
Specifically, bits in STATESTS (aka WAKESTS) were left set.

The fix is to disable WAKEEN and clear STATESTS bits before the HDA
interrupt is enabled.  This way we should never get any STATESTS bits.

I also added placeholders for all event bits that we currently do not
enable, do not handle and do not clear.  This might get useful when / if
we enable any of them.

Reported by: kib (Apollo Lake hardware)
Tested by: kib (earlier, different change)
MFC after: 2 weeks
X-MFC with: r362294
sys/dev/sound/pci/hda/hdac.c