• Hans Verkuil's avatar
    media: cec: forgot to cancel delayed work · 490d84f6
    Hans Verkuil authored
    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: 7ec2b3b9 ("cec: add new tx/rx status bits to detect aborts/timeouts")
    Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
    Cc: <stable@vger.kernel.org>      # for v4.18 and up
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
    490d84f6
cec-adap.c 59 KB