]> git.baikalelectronics.ru Git - kernel.git/commit
sound: oxygen: work around MCE when changing volume
authorClemens Ladisch <clemens@ladisch.de>
Mon, 7 Sep 2009 08:18:54 +0000 (10:18 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 7 Sep 2009 10:15:43 +0000 (12:15 +0200)
commite9ab3594948b5c23f68e72418724b865ffbb8426
tree687bafab754de6ff5a1857b81fdfe33b77219fb0
parent55a26a74ba8e4134c7405b712d263dd7db7cd915
sound: oxygen: work around MCE when changing volume

When the volume is changed continuously (e.g., when the user drags a
volume slider with the mouse), the driver does lots of I2C writes.
Apparently, the sound chip can get confused when we poll the I2C status
register too much, and fails to complete a read from it.  On the PCI-E
models, the PCI-E/PCI bridge gets upset by this and generates a machine
check exception.

To avoid this, this patch replaces the polling with an unconditional
wait that is guaranteed to be long enough.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Tested-by: Johann Messner <johann.messner at jku.at>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/oxygen/oxygen_io.c