1
linux/sound/pci/oxygen
Clemens Ladisch f1bc07af9a 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>
2009-09-07 12:15:43 +02:00
..
ak4396.h
cm9780.h
cs4362a.h [ALSA] virtuoso: add Xonar DX support 2008-04-24 12:00:32 +02:00
cs4398.h [ALSA] virtuoso: add Xonar DX support 2008-04-24 12:00:32 +02:00
hifier.c sound: oxygen: handle cards with broken EEPROM 2009-02-19 10:22:25 +01:00
Makefile
oxygen_io.c sound: oxygen: work around MCE when changing volume 2009-09-07 12:15:43 +02:00
oxygen_lib.c sound: oxygen: handle cards with missing EEPROM 2009-09-03 07:38:06 +02:00
oxygen_mixer.c sound: oxygen: make mic volume control mono 2009-06-25 15:39:02 +02:00
oxygen_pcm.c sound: oxygen: fix MCLK rate for 192 kHz playback 2009-09-01 08:45:40 +02:00
oxygen_regs.h
oxygen.c sound: oxygen: enable headphone output on Claro cards 2009-03-09 09:45:11 +01:00
oxygen.h sound: oxygen: automatically restore overwritten EEPROM 2009-02-19 10:22:26 +01:00
pcm1796.h [ALSA] virtuoso: move PCM1796 symbols to a header file 2008-04-24 12:00:27 +02:00
virtuoso.c sound: virtuoso: fix Xonar D1/DX silence after resume 2009-07-02 10:35:35 +02:00
wm8785.h [ALSA] oxygen: move WM8785 symbols to a header file 2008-04-24 12:00:27 +02:00