diff options
author | Takashi Iwai <tiwai@suse.de> | 2019-12-10 07:34:28 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2019-12-11 07:25:50 +0100 |
commit | bf17d20adea74015628a1db0c658d256697b8d83 (patch) | |
tree | ff987b4f51431d74955cfc94322f970cf1d3f7b6 /sound/pci/oxygen | |
parent | 1478eb63654b367399f79edc0734a3bda1b0324b (diff) | |
download | linux-bf17d20adea74015628a1db0c658d256697b8d83.tar.bz2 |
ALSA: oxygen: Support PCM sync_stop
The driver invokes snd_pcm_period_elapsed() simply from the interrupt
handler. Set card->sync_irq for enabling the missing sync_stop PCM
operation, as well as removing the superfluous synchronize_irq()
call.
Link: https://lore.kernel.org/r/20191210063454.31603-30-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/oxygen')
-rw-r--r-- | sound/pci/oxygen/oxygen_lib.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/oxygen/oxygen_lib.c b/sound/pci/oxygen/oxygen_lib.c index ed65d9fd4938..afc6dd329c09 100644 --- a/sound/pci/oxygen/oxygen_lib.c +++ b/sound/pci/oxygen/oxygen_lib.c @@ -661,6 +661,7 @@ int oxygen_pci_probe(struct pci_dev *pci, int index, char *id, goto err_card; } chip->irq = pci->irq; + card->sync_irq = chip->irq; strcpy(card->driver, chip->model.chip); strcpy(card->shortname, chip->model.shortname); @@ -743,7 +744,6 @@ static int oxygen_pci_suspend(struct device *dev) oxygen_write16(chip, OXYGEN_INTERRUPT_MASK, 0); spin_unlock_irq(&chip->reg_lock); - synchronize_irq(chip->irq); flush_work(&chip->spdif_input_bits_work); flush_work(&chip->gpio_work); chip->interrupt_mask = saved_interrupt_mask; |