diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-07-20 09:39:11 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-07-20 09:39:11 +0200 |
commit | 6f2c6599ba70da7ca9603f8026c4e3cdc273ee02 (patch) | |
tree | 88228298182133d9522be62c8cb3eecfcb595d49 /sound/soc/sof/intel/hda-stream.c | |
parent | serial: Remove duplicated macro definition of port type (diff) | |
parent | Linux 5.8-rc6 (diff) | |
download | linux-6f2c6599ba70da7ca9603f8026c4e3cdc273ee02.tar.xz linux-6f2c6599ba70da7ca9603f8026c4e3cdc273ee02.zip |
Merge 5.8-rc6 into tty-next
We need the serial/tty fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound/soc/sof/intel/hda-stream.c')
-rw-r--r-- | sound/soc/sof/intel/hda-stream.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sound/soc/sof/intel/hda-stream.c b/sound/soc/sof/intel/hda-stream.c index 7f65dcc95811..1bda14c3590c 100644 --- a/sound/soc/sof/intel/hda-stream.c +++ b/sound/soc/sof/intel/hda-stream.c @@ -653,11 +653,16 @@ irqreturn_t hda_dsp_stream_threaded_handler(int irq, void *context) if (status & AZX_INT_CTRL_EN) { rirb_status = snd_hdac_chip_readb(bus, RIRBSTS); if (rirb_status & RIRB_INT_MASK) { + /* + * Clearing the interrupt status here ensures + * that no interrupt gets masked after the RIRB + * wp is read in snd_hdac_bus_update_rirb. + */ + snd_hdac_chip_writeb(bus, RIRBSTS, + RIRB_INT_MASK); active = true; if (rirb_status & RIRB_INT_RESPONSE) snd_hdac_bus_update_rirb(bus); - snd_hdac_chip_writeb(bus, RIRBSTS, - RIRB_INT_MASK); } } #endif |