1
0
Fork 0
alistair23-linux/sound/hda
Takashi Iwai 473f414564 ALSA: hda - Loop interrupt handling until really cleared
Currently the interrupt handler of HD-audio driver assumes that no irq
update is needed while processing the irq.  But in reality, it has
been confirmed that the HW irq is issued even during the irq
handling.  Since we clear the irq status at the beginning, process the
interrupt, then exits from the handler, the lately issued interrupt is
left untouched without being properly processed.

This patch changes the interrupt handler code to loop over the
check-and-process.  The handler tries repeatedly as long as the IRQ
status are turned on, and either stream or CORB/RIRB is handled.

For checking the stream handling, snd_hdac_bus_handle_stream_irq()
returns a value indicating the stream indices bits.  Other than that,
the change is only in the irq handler itself.

Reported-by: Libin Yang <libin.yang@linux.intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-02-26 08:50:31 +01:00
..
ext ALSA: hdac: add snd_hdac_ext_bus_link_power_up_all 2016-01-10 12:02:47 +00:00
Kconfig ALSA: HDAC: move SND_HDA_PREALLOC_SIZE to core 2015-06-16 17:40:38 +02:00
Makefile ALSA: hdac_ext: add extended HDA bus 2015-06-11 11:57:54 +02:00
array.c ALSA: hda - Move generic array helpers to core lib 2015-03-23 13:19:35 +01:00
hda_bus_type.c ALSA: hda - Advertise MODALIAS in uevent 2015-10-20 10:15:53 +02:00
hdac_bus.c ALSA: hda - Add / fix kernel doc comments 2015-10-28 12:37:29 +01:00
hdac_controller.c ALSA: hda - Loop interrupt handling until really cleared 2016-02-26 08:50:31 +01:00
hdac_device.c ALSA: hda - Add / fix kernel doc comments 2015-10-28 12:37:29 +01:00
hdac_i915.c ALSA: hda - Degrade i915 binding failure message 2016-01-20 15:00:26 +01:00
hdac_regmap.c ALSA: hda - Add / fix kernel doc comments 2015-10-28 12:37:29 +01:00
hdac_stream.c ALSA: hda - Add / fix kernel doc comments 2015-10-28 12:37:29 +01:00
hdac_sysfs.c ALSA: hda - Add hdaudio bus modalias support 2015-10-20 10:15:09 +02:00
local.h ALSA: hda - Add widget sysfs tree 2015-03-23 13:17:27 +01:00
trace.c ALSA: hda - Re-add tracepoints to HD-audio core driver 2015-03-23 13:17:58 +01:00
trace.h ALSA: hda - add hdac stream trace 2015-05-18 10:06:20 +02:00