media: imon: fix timer racing disconnect

The timer will report events for an input device.
Reporting events for an unregistered device is bad.
Hence the timer must be killed first.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
Oliver Neukum 2022-04-28 15:34:54 +02:00 committed by Mauro Carvalho Chehab
parent a43617a5bf
commit 07af64dddf

View File

@ -2537,8 +2537,8 @@ static void imon_disconnect(struct usb_interface *interface)
usb_kill_urb(ictx->rx_urb_intf1);
usb_put_dev(ictx->usbdev_intf1);
if (ictx->display_type == IMON_DISPLAY_TYPE_VGA) {
input_unregister_device(ictx->touch);
del_timer_sync(&ictx->ttimer);
input_unregister_device(ictx->touch);
}
}