]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
media: cec: forgot to cancel delayed work
authorHans Verkuil <hverkuil@xs4all.nl>
Mon, 15 Oct 2018 10:14:22 +0000 (06:14 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Nov 2018 19:12:50 +0000 (11:12 -0800)
commite448dfd6d3ec944411f6575bc24e4f8baa1e297f
treef88d5a98b23777fc3dedbd00c96539cdfd97da29
parentb8ee0bd5b09997ef69cb39e9b451683cf5f6badf
media: cec: forgot to cancel delayed work

commit 490d84f6d73c12f4204241cff8651eed60aae914 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: 7ec2b3b941a6 ("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>
drivers/media/cec/cec-adap.c