linux-stable/drivers/staging
Nicolas Dufresne 0b88c0ee45 media: cedrus: Fix watchdog race condition
commit fe8b81fde6 upstream.

The watchdog needs to be scheduled before we trigger the decode
operation, otherwise there is a risk that the decoder IRQ will be
called before we have schedule the watchdog. As a side effect, the
watchdog would never be cancelled and its function would be called
at an inappropriate time.

This was observed while running Fluster with GStreamer as a backend.
Some programming error would cause the decoder IRQ to be call very
quickly after the trigger. Later calls into the driver would deadlock
due to the unbalanced state.

Cc: stable@vger.kernel.org
Fixes: 7c38a551bd ("media: cedrus: Add watchdog for job completion")
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-10-21 12:37:54 +02:00
..
axis-fifo
board
clocking-wizard
emxx_udc
fbtft staging: fbtft: core: set smem_len before fb_deferred_io_init call 2022-07-28 10:42:42 +02:00
fieldbus
fwserial
gdm724x staging: gdm724x: drop unused CDC defines 2022-07-25 10:57:42 +02:00
greybus staging: greybus: audio: replace safe list iteration 2022-06-10 14:47:42 +02:00
iio
ks7010 staging: ks7010: remove null check after call container_of() 2022-05-19 17:42:41 +02:00
media media: cedrus: Fix watchdog race condition 2022-10-21 12:37:54 +02:00
most
nvec
octeon staging: switch to netif_napi_add_weight() 2022-07-08 14:28:21 +02:00
olpc_dcon Merge 5.19-rc3 into staging-next 2022-06-20 08:59:23 +02:00
pi433 staging: pi433: remove duplicated comments 2022-07-27 08:42:14 +02:00
qlge Staging driver patches for 6.0-rc1 2022-08-04 12:01:42 -07:00
r8188eu staging: r8188eu: Add Rosewill USB-N150 Nano to device tables 2022-08-16 15:25:00 +02:00
rtl8192e Staging: rtl8192e: Added spaces around '+' 2022-07-08 14:25:46 +02:00
rtl8192u staging: rtl8192u: Fix sleep in atomic context bug in dm_fsync_timer_callback 2022-07-11 10:05:35 +02:00
rtl8712 staging: rtl8712: fix use after free bugs 2022-08-30 17:15:16 +02:00
rtl8723bs Staging driver patches for 6.0-rc1 2022-08-04 12:01:42 -07:00
rts5208 staging: rts5208: spi.c: fix codestyle error in dynamic debug code 2022-06-06 07:53:49 +02:00
sm750fb staging: sm750fb: fix CamelCase function parameter 2022-06-20 10:01:21 +02:00
vc04_services staging: vchiq_arm: Add missing memory barrier comments 2022-06-27 13:50:19 +02:00
vme_user vme: move back to staging 2022-06-10 15:38:14 +02:00
vt6655 Staging driver patches for 6.0-rc1 2022-08-04 12:01:42 -07:00
vt6656 wifi: mac80211: return a beacon for a specific link 2022-06-20 12:57:08 +02:00
wlan-ng Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-07-14 15:27:35 -07:00
Kconfig staging: octeon-usb: move driver out of staging 2022-06-21 16:43:37 +02:00
Makefile staging: octeon-usb: move driver out of staging 2022-06-21 16:43:37 +02:00