diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1159-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.24/1159-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.24/1159-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch b/target/linux/s3c24xx/patches-2.6.24/1159-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch new file mode 100644 index 0000000000..2a53a95e58 --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.24/1159-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch @@ -0,0 +1,37 @@ +From 7b7d70785f1b3c1421d56ee8140578fea3b90f9c Mon Sep 17 00:00:00 2001 +From: Holger Freyther <zecke@openmoko.org> +Date: Thu, 15 May 2008 21:47:56 +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 68071c2..6d395ca 100644 +--- a/drivers/input/touchscreen/s3c2410_ts.c ++++ b/drivers/input/touchscreen/s3c2410_ts.c +@@ -356,7 +356,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.5 + |