summaryrefslogtreecommitdiff
path: root/sound/pci/emu10k1/emupcm.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-28 00:23:34 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-28 00:23:34 +0400
commit30acd906b02470e7eb346401de966a33864d9af4 (patch)
treedff22c3357387970a674beccf2e6679e901f8ff7 /sound/pci/emu10k1/emupcm.c
parent7bf2fbcdf5300d8b19fa36e37b5bcd8326c95c1d (diff)
parentd0ec95fe6a8d9c7da6f9ff885cecbe7e328e2a2e (diff)
downloadlinux-30acd906b02470e7eb346401de966a33864d9af4.tar.xz
Merge tag 'sound-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "Nothing serious but just a few regression fixes and quirk additions, such as emu1010 firmware loading fixes, M-Audio AP192 SPDIF fix, and HD-audio HDMI jack detection fix." * tag 'sound-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: emu10k1: Allow to switch hardware sampe rate on EMU ALSA: hda - Enable beep for ASUS EeeBox EBP1501P ALSA: emu10k1: Load firmware when it was already cached ALSA: ice1724: M-Audio Audiophile192: Fix SPDIF input ALSA: bt87x: Make load_all parameter working again ALSA: emu10k1: Fix regression in emu1010 firmware loading ALSA: hda - hdmi: Make jacks phantom, if they're not detectable
Diffstat (limited to 'sound/pci/emu10k1/emupcm.c')
-rw-r--r--sound/pci/emu10k1/emupcm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/pci/emu10k1/emupcm.c b/sound/pci/emu10k1/emupcm.c
index 748a286277eb..5ae1d045bdcb 100644
--- a/sound/pci/emu10k1/emupcm.c
+++ b/sound/pci/emu10k1/emupcm.c
@@ -1127,7 +1127,7 @@ static int snd_emu10k1_playback_open(struct snd_pcm_substream *substream)
struct snd_emu10k1_pcm *epcm;
struct snd_emu10k1_pcm_mixer *mix;
struct snd_pcm_runtime *runtime = substream->runtime;
- int i, err;
+ int i, err, sample_rate;
epcm = kzalloc(sizeof(*epcm), GFP_KERNEL);
if (epcm == NULL)
@@ -1146,7 +1146,11 @@ static int snd_emu10k1_playback_open(struct snd_pcm_substream *substream)
kfree(epcm);
return err;
}
- err = snd_pcm_hw_rule_noresample(runtime, 48000);
+ if (emu->card_capabilities->emu_model && emu->emu1010.internal_clock == 0)
+ sample_rate = 44100;
+ else
+ sample_rate = 48000;
+ err = snd_pcm_hw_rule_noresample(runtime, sample_rate);
if (err < 0) {
kfree(epcm);
return err;