summaryrefslogtreecommitdiffstats
path: root/drivers/auxdisplay
diff options
context:
space:
mode:
authorzhengbin <zhengbin13@huawei.com>2019-07-08 20:42:18 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-09-06 10:23:17 +0200
commitc1b16e1427f41c3588a97154a27cf4d34b6f0ece (patch)
treed1d642954943495384580a03365f0babab33db19 /drivers/auxdisplay
parentceac72e0a8cc98fbfcba3ed58b9539a6be541e5e (diff)
downloadlinux-stable-c1b16e1427f41c3588a97154a27cf4d34b6f0ece.tar.gz
linux-stable-c1b16e1427f41c3588a97154a27cf4d34b6f0ece.tar.bz2
linux-stable-c1b16e1427f41c3588a97154a27cf4d34b6f0ece.zip
auxdisplay: panel: need to delete scan_timer when misc_register fails in panel_attach
[ Upstream commit b33d567560c1aadf3033290d74d4fd67af47aa61 ] In panel_attach, if misc_register fails, we need to delete scan_timer, which was setup in keypad_init->init_scan_timer. Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: zhengbin <zhengbin13@huawei.com> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/auxdisplay')
-rw-r--r--drivers/auxdisplay/panel.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/auxdisplay/panel.c b/drivers/auxdisplay/panel.c
index e06de63497cf..e6bd727da503 100644
--- a/drivers/auxdisplay/panel.c
+++ b/drivers/auxdisplay/panel.c
@@ -1617,6 +1617,8 @@ static void panel_attach(struct parport *port)
return;
err_lcd_unreg:
+ if (scan_timer.function)
+ del_timer_sync(&scan_timer);
if (lcd.enabled)
charlcd_unregister(lcd.charlcd);
err_unreg_device: