OSDN Git Service

ALSA: virtuoso: work around missing reset in the Xonar DS Windows driver
authorClemens Ladisch <clemens@ladisch.de>
Tue, 7 Sep 2010 11:37:10 +0000 (13:37 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 20 Sep 2010 20:36:26 +0000 (13:36 -0700)
commit62f520f10a2b563d3d6239925af57c8f865b48b3
tree21c28f739f58d9ca2edbc06b72ca6c41878a91da
parenta8ff79954a0cd5041c2c7ddd96be446ecf1273de
ALSA: virtuoso: work around missing reset in the Xonar DS Windows driver

commit 4c25b93223340deff73381cc47f9244fb379a74d upstream.

For the WM8776 chip, this driver uses a different sample format and
more features than the Windows driver.  When rebooting from Linux into
Windows, the latter driver does not reset the chip but assumes all its
registers have their default settings, so we get garbled sound or, if
the output happened to be muted before rebooting, no sound.

To make that driver happy, hook our driver's cleanup function into the
shutdown notifier and ensure that the chip gets reset.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Reported-and-tested-by: Nathan Schagen
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sound/pci/oxygen/oxygen.h
sound/pci/oxygen/oxygen_lib.c
sound/pci/oxygen/virtuoso.c
sound/pci/oxygen/xonar_wm87x6.c