summaryrefslogtreecommitdiff
path: root/target/linux/s3c24xx/patches-2.6.26/0140-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.26/0140-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch')
-rwxr-xr-xtarget/linux/s3c24xx/patches-2.6.26/0140-Fixup-hang-on-resume-caused-by-the-s3c2410-touch-scr.patch37
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 0000000..2d36575
--- /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
+