ALSA: emu10k1: don't update firmware during suspend/resume
Add a flag to suppress the update in emu1010_firmware_thread() during suspend/resume. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
b209c4dfcd
Коммит
4f86f120d9
|
@ -1796,6 +1796,7 @@ struct snd_emu10k1 {
|
|||
unsigned int *saved_icode;
|
||||
unsigned int *p16v_saved;
|
||||
unsigned int saved_a_iocfg, saved_hcfg;
|
||||
bool suspend;
|
||||
#endif
|
||||
|
||||
};
|
||||
|
|
|
@ -215,6 +215,8 @@ static int snd_emu10k1_suspend(struct device *dev)
|
|||
|
||||
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
|
||||
|
||||
emu->suspend = 1;
|
||||
|
||||
snd_pcm_suspend_all(emu->pcm);
|
||||
snd_pcm_suspend_all(emu->pcm_mic);
|
||||
snd_pcm_suspend_all(emu->pcm_efx);
|
||||
|
@ -260,6 +262,8 @@ static int snd_emu10k1_resume(struct device *dev)
|
|||
if (emu->card_capabilities->ca0151_chip)
|
||||
snd_p16v_resume(emu);
|
||||
|
||||
emu->suspend = 0;
|
||||
|
||||
snd_power_change_state(card, SNDRV_CTL_POWER_D0);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -714,6 +714,8 @@ static int emu1010_firmware_thread(void *data)
|
|||
msleep_interruptible(1000);
|
||||
if (kthread_should_stop())
|
||||
break;
|
||||
if (emu->suspend)
|
||||
continue;
|
||||
snd_emu1010_fpga_read(emu, EMU_HANA_IRQ_STATUS, &tmp); /* IRQ Status */
|
||||
snd_emu1010_fpga_read(emu, EMU_HANA_OPTION_CARDS, ®); /* OPTIONS: Which cards are attached to the EMU */
|
||||
if (reg & EMU_HANA_OPTION_DOCK_OFFLINE) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче