linux/drivers/media/cec
Hans Verkuil 2781b86d7e media: cec: forgot to cancel delayed work
commit 490d84f6d7 upstream.

If the wait for completion was interrupted, then make sure to cancel
any delayed work.

This can only happen if a transmit is waiting for a reply, and you press
Ctrl-C or reboot/poweroff or something like that which interrupts the
thread waiting for the reply and then proceeds to delete the CEC message.

Since the delayed work wasn't canceled, once it would trigger it referred
to stale data and resulted in a kernel oops.

Fixes: 7ec2b3b941 ("cec: add new tx/rx status bits to detect aborts/timeouts")

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: <stable@vger.kernel.org>      # for v4.18 and up
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-11-13 11:08:53 -08:00
..
cec-adap.c media: cec: forgot to cancel delayed work 2018-11-13 11:08:53 -08:00
cec-api.c media: cec: integrate cec_validate_phys_addr() in cec-api.c 2018-11-13 11:08:52 -08:00
cec-core.c media: rc: per-protocol repeat period and minimum keyup timer 2018-04-20 09:16:55 -04:00
cec-edid.c media: cec: make cec_get_edid_spa_location() an inline function 2018-11-13 11:08:52 -08:00
cec-notifier.c media: cec-notifier: Get notifier by device and connector name 2018-07-13 08:44:16 +01:00
cec-pin-error-inj.c media: cec-pin-error-inj: avoid a false-positive Spectre detection 2018-05-28 16:11:17 -04:00
cec-pin-priv.h media: cec: improve CEC pin event handling 2018-03-22 08:16:52 -04:00
cec-pin.c media: cec: set ev rather than v with CEC_PIN_EVENT_FL_DROPPED bit 2018-04-20 08:37:35 -04:00
cec-priv.h media: cec: add SPDX license info 2018-02-14 13:16:03 -05:00
Kconfig media: cec-pin-error-inj: parse/show error injection 2018-03-22 08:00:59 -04:00
Makefile media: cec-pin-error-inj: parse/show error injection 2018-03-22 08:00:59 -04:00