diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.26/0140-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch')
-rwxr-xr-x | target/linux/s3c24xx/patches-2.6.26/0140-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.26/0140-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch b/target/linux/s3c24xx/patches-2.6.26/0140-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch new file mode 100755 index 0000000000..2d365751b7 --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.26/0140-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch @@ -0,0 +1,37 @@ +From 38c2df2c01a3307c9bce68c744ae6d2b1717b8ec Mon Sep 17 00:00:00 2001 +From: Holger Freyther <zecke@openmoko.org> +Date: Fri, 25 Jul 2008 23:06:09 +0100 +Subject: [PATCH] Fixup hang on resume caused by the s3c2410 touch screen driver + +From dc6d335b467646d802a21ea6b925ee97e83e07be Mon Sep 17 00:00:00 2001 +From: Holger Freyther <zecke@openmoko.org> +Date: Thu, 15 May 2008 01:16:23 +0200 +Subject: [PATCH] Do not use msleep in the resume path of s3c2410_ts as it +might lockup + +For some reason msleep might set the only task running into a suspended +state and no timer will ever wake it up. Use mdelay to avoid this. I was not +able to understand the reasoning of sleeping after enabling the clock. So we +might just remove the msleep/mdelay at all and be fine. + +Signed-Off-By: Holger Freyther <zecke@openmoko.org> +--- + drivers/input/touchscreen/s3c2410_ts.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c +index bc6ccc2..1251454 100644 +--- a/drivers/input/touchscreen/s3c2410_ts.c ++++ b/drivers/input/touchscreen/s3c2410_ts.c +@@ -355,7 +355,7 @@ static int s3c2410ts_resume(struct platform_device *pdev) + ( struct s3c2410_ts_mach_info *)pdev->dev.platform_data; + + clk_enable(adc_clock); +- msleep(1); ++ mdelay(1); + + enable_irq(IRQ_ADC); + enable_irq(IRQ_TC); +-- +1.5.6.3 + |