diff options
Diffstat (limited to 'sound/pci/pcxhr/pcxhr_mixer.c')
| -rw-r--r-- | sound/pci/pcxhr/pcxhr_mixer.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/pci/pcxhr/pcxhr_mixer.c b/sound/pci/pcxhr/pcxhr_mixer.c index 2436e374586f..fec049344621 100644 --- a/sound/pci/pcxhr/pcxhr_mixer.c +++ b/sound/pci/pcxhr/pcxhr_mixer.c | |||
| @@ -789,11 +789,15 @@ static int pcxhr_clock_type_put(struct snd_kcontrol *kcontrol, | |||
| 789 | if (mgr->use_clock_type != ucontrol->value.enumerated.item[0]) { | 789 | if (mgr->use_clock_type != ucontrol->value.enumerated.item[0]) { |
| 790 | mutex_lock(&mgr->setup_mutex); | 790 | mutex_lock(&mgr->setup_mutex); |
| 791 | mgr->use_clock_type = ucontrol->value.enumerated.item[0]; | 791 | mgr->use_clock_type = ucontrol->value.enumerated.item[0]; |
| 792 | if (mgr->use_clock_type) | 792 | rate = 0; |
| 793 | if (mgr->use_clock_type != PCXHR_CLOCK_TYPE_INTERNAL) { | ||
| 793 | pcxhr_get_external_clock(mgr, mgr->use_clock_type, | 794 | pcxhr_get_external_clock(mgr, mgr->use_clock_type, |
| 794 | &rate); | 795 | &rate); |
| 795 | else | 796 | } else { |
| 796 | rate = mgr->sample_rate; | 797 | rate = mgr->sample_rate; |
| 798 | if (!rate) | ||
| 799 | rate = 48000; | ||
| 800 | } | ||
| 797 | if (rate) { | 801 | if (rate) { |
| 798 | pcxhr_set_clock(mgr, rate); | 802 | pcxhr_set_clock(mgr, rate); |
| 799 | if (mgr->sample_rate) | 803 | if (mgr->sample_rate) |
