From be8e643514303f34f842d8cc918a01bf4a668141 Mon Sep 17 00:00:00 2001 From: lin <lin@kickpi.com> Date: Tue, 25 Feb 2025 03:25:57 +0000 Subject: [PATCH] fix(tp): fixed Kernel stuck when close screen without gt9xx --- longan/kernel/linux-4.9/drivers/input/touchscreen/gt9xx/gt9xx.c | 32 ++++++++++++++++++-------------- 1 files changed, 18 insertions(+), 14 deletions(-) diff --git a/longan/kernel/linux-4.9/drivers/input/touchscreen/gt9xx/gt9xx.c b/longan/kernel/linux-4.9/drivers/input/touchscreen/gt9xx/gt9xx.c index 27d2068..19196a0 100755 --- a/longan/kernel/linux-4.9/drivers/input/touchscreen/gt9xx/gt9xx.c +++ b/longan/kernel/linux-4.9/drivers/input/touchscreen/gt9xx/gt9xx.c @@ -1087,17 +1087,19 @@ static int goodix_ts_resume(struct device *dev); extern void gt9xx_resume_extern(void); extern void gt9xx_suspend_extern(void); -struct goodix_ts_data *cur_ts; +struct goodix_ts_data *cur_ts= NULL; void gt9xx_suspend_extern(void) { // goodix_ts_suspend(config_info.dev); - - gtp_irq_disable(cur_ts); - cancel_work_sync(&goodix_resume_work); - flush_workqueue(goodix_resume_wq); - cancel_work_sync(&cur_ts->work); - flush_workqueue(goodix_wq); + if (cur_ts == NULL) {return;} + else { + gtp_irq_disable(cur_ts); + cancel_work_sync(&goodix_resume_work); + flush_workqueue(goodix_resume_wq); + cancel_work_sync(&cur_ts->work); + flush_workqueue(goodix_wq); + } } EXPORT_SYMBOL(gt9xx_suspend_extern); @@ -1105,13 +1107,15 @@ void gt9xx_resume_extern(void) { // goodix_ts_resume(config_info.dev); - printk("%s goodix_ts_resume v1\n", goodix_ts_name); - __gpio_set_value(config_info.wakeup_gpio.gpio, 1); - input_set_power_enable(&(config_info.input_type), 1); - msleep(10); - // goodix_resume_events - queue_work(goodix_resume_wq, &goodix_resume_work);//gandy - + if (cur_ts == NULL) {return;} + else { + printk("%s goodix_ts_resume v1\n", goodix_ts_name); + __gpio_set_value(config_info.wakeup_gpio.gpio, 1); + input_set_power_enable(&(config_info.input_type), 1); + msleep(10); + // goodix_resume_events + queue_work(goodix_resume_wq, &goodix_resume_work);//gandy + } } EXPORT_SYMBOL(gt9xx_resume_extern); -- Gitblit v1.6.2