diff options
Diffstat (limited to 'target/linux/s3c24xx/patches/0189-fix-touchscreen-meddling-divde.patch.patch')
-rwxr-xr-x | target/linux/s3c24xx/patches/0189-fix-touchscreen-meddling-divde.patch.patch | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/target/linux/s3c24xx/patches/0189-fix-touchscreen-meddling-divde.patch.patch b/target/linux/s3c24xx/patches/0189-fix-touchscreen-meddling-divde.patch.patch deleted file mode 100755 index 4ff79105ef..0000000000 --- a/target/linux/s3c24xx/patches/0189-fix-touchscreen-meddling-divde.patch.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 9bdb2dbc9725d7f2ba23566303d5abe0504beb83 Mon Sep 17 00:00:00 2001 -From: Andy Green <andy@openmoko.com> -Date: Fri, 25 Jul 2008 23:06:16 +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 b1ba73d..5bc347f 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.3 - |