linux/drivers/media
Stanislaw Gruszka 1429826883 media: intel/ipu6: do not handle interrupts when device is disabled
Some IPU6 devices have shared interrupts. We need to handle properly
case when interrupt is triggered from other device on shared irq line
and IPU6 itself disabled. In such case we get 0xffffffff from
ISR_STATUS register and handle all irq's cases, for what we are not
not prepared and usually hang the whole system.

To avoid the issue use pm_runtime_get_if_active() to check if
the device is enabled and prevent suspending it when we handle irq
until the end of irq. Additionally use synchronize_irq() in suspend

Fixes: ab29a2478e ("media: intel/ipu6: add IPU6 buttress interface driver")
Cc: stable@vger.kernel.org
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Tested-by: Hans de Goede <hdegoede@redhat.com> # ThinkPad X1 Yoga Gen 8, ov2740
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2024-11-07 09:05:58 +01:00
..
cec media: cec: seco: add HAS_IOPORT dependency 2024-10-12 16:28:26 +02:00
common media: vb2: fix confusing log message 2024-10-28 15:35:56 +01:00
dvb-core media: dvb-core: add missing buffer index check 2024-10-12 07:42:35 +02:00
dvb-frontends media: rtl2832_sdr: drop vb2_ops_wait_prepare/finish 2024-10-28 09:19:56 +01:00
firewire media: firewire: firedtv-avc.c: replace BUG with proper, error return 2023-08-10 07:58:37 +02:00
i2c media: i2c: st-mipid02: remove parallel mbus format on sink pad 2024-11-07 09:05:58 +01:00
mc [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
mmc media: mmc: siano: simplify module initialization 2024-04-08 13:48:19 +02:00
pci media: intel/ipu6: do not handle interrupts when device is disabled 2024-11-07 09:05:58 +01:00
platform media: venus: Fix pm_runtime_set_suspended() with runtime pm enabled 2024-11-07 09:05:57 +01:00
radio media: wl128x: Fix atomicity violation in fmc_send_cmd() 2024-10-12 16:28:26 +02:00
rc media: ati_remote: don't push static constants on stack for %*ph 2024-10-29 16:37:23 +01:00
spi media: gs1662: remove unused struct 'gs_reg_fmt_custom' 2024-05-31 13:51:16 +02:00
test-drivers media: v4l2-core: v4l2-dv-timings: check cvt/gtf result 2024-10-28 15:35:56 +01:00
tuners media: Switch back to struct platform_driver::remove() 2024-10-12 16:28:25 +02:00
usb media: gspca: ov534-ov772x: Fix off-by-one error in set_frame_rate() 2024-11-07 09:05:57 +01:00
v4l2-core media: v4l2-subdev: Refactor events 2024-11-07 09:05:57 +01:00
Kconfig media: Kconfig: Make DVB_CORE=m possible when MEDIA_SUPPORT=y 2022-12-07 17:58:46 +01:00
Makefile media: Makefiles: remove extra spaces 2022-03-12 16:59:52 +01:00