diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2010-09-07 13:37:10 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-09-08 08:26:13 +0200 |
commit | 4c25b93223340deff73381cc47f9244fb379a74d (patch) | |
tree | 6669e6b0810e530fa65e1b59d704e6c58467976e /sound/pci/oxygen/oxygen.h | |
parent | a2acad8298a42b7be684a32fafaf83332bba9c2b (diff) | |
download | op-kernel-dev-4c25b93223340deff73381cc47f9244fb379a74d.zip op-kernel-dev-4c25b93223340deff73381cc47f9244fb379a74d.tar.gz |
ALSA: virtuoso: work around missing reset in the Xonar DS Windows driver
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
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/oxygen/oxygen.h')
-rw-r--r-- | sound/pci/oxygen/oxygen.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/pci/oxygen/oxygen.h b/sound/pci/oxygen/oxygen.h index 6147216..a3409ed 100644 --- a/sound/pci/oxygen/oxygen.h +++ b/sound/pci/oxygen/oxygen.h @@ -155,6 +155,7 @@ void oxygen_pci_remove(struct pci_dev *pci); int oxygen_pci_suspend(struct pci_dev *pci, pm_message_t state); int oxygen_pci_resume(struct pci_dev *pci); #endif +void oxygen_pci_shutdown(struct pci_dev *pci); /* oxygen_mixer.c */ |