diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1210-fix-touchscreen-meddling-divde.patch.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.24/1210-fix-touchscreen-meddling-divde.patch.patch | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1210-fix-touchscreen-meddling-divde.patch.patch b/target/linux/s3c24xx/patches-2.6.24/1210-fix-touchscreen-meddling-divde.patch.patch deleted file mode 100644 index 2348784..0000000 --- a/target/linux/s3c24xx/patches-2.6.24/1210-fix-touchscreen-meddling-divde.patch.patch +++ /dev/null @@ -1,52 +0,0 @@ -From e0dc30dfda233d4ebe6f88cd1162e5952fc69027 Mon Sep 17 00:00:00 2001 -From: Andy Green <andy@openmoko.com> -Date: Wed, 2 Jul 2008 22:43:38 +0100 -Subject: [PATCH] fix-touchscreen-meddling-divde.patch - Reported-by: Holger Freyther <zecke@openmoko.org> - -length can be zero... blowing a divide by zero exception... -which somehow I don't get (?) Anyway the code is wrong and -this should fix it. - -Signed-off-by: Andy Green <andy@openmoko.com> ---- - drivers/input/touchscreen/s3c2410_ts.c | 12 +++++++++--- - 1 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c -index 83e7aff..9fb95c1 100644 ---- a/drivers/input/touchscreen/s3c2410_ts.c -+++ b/drivers/input/touchscreen/s3c2410_ts.c -@@ -226,12 +226,18 @@ static irqreturn_t stylus_action(int irq, void *dev_id) - unsigned long x; - unsigned long y; - int length = (ts.head_raw_fifo - ts.tail_raw_fifo) & (ts.extent - 1); -- int scaled_avg_x = ts.raw_running_avg.x / length; -- int scaled_avg_y = ts.raw_running_avg.y / length; -+ int scaled_avg_x; -+ int scaled_avg_y; - - x = readl(base_addr + S3C2410_ADCDAT0) & S3C2410_ADCDAT0_XPDATA_MASK; - y = readl(base_addr + S3C2410_ADCDAT1) & S3C2410_ADCDAT1_YPDATA_MASK; - -+ if (!length) -+ goto store_sample; -+ -+ scaled_avg_x = ts.raw_running_avg.x / length; -+ scaled_avg_y = ts.raw_running_avg.y / length; -+ - /* we appear to accept every sample into both the running average FIFO - * and the summing average. BUT, if the last sample crossed a - * machine-set threshold, each time we do a beauty contest -@@ -280,7 +286,7 @@ static irqreturn_t stylus_action(int irq, void *dev_id) - else - ts.flag_previous_exceeded_threshold = 1; - -- /* accepted */ -+store_sample: - ts.xp += x; - ts.yp += y; - ts.count++; --- -1.5.6.5 - |