Patchwork maps: test before subtraction on unsigned long intel1size

login
register
mail settings
Submitter roel kluin
Date March 5, 2009, 12:11 p.m.
Message ID <49AFC16E.5090904@gmail.com>
Download mbox | patch
Permalink /patch/24097/
State New
Headers show

Comments

roel kluin - March 5, 2009, 12:11 p.m.
I found this by code inspection, I could be wrong, but isn't a test required
before this subtraction? note that intel1size is unsigned long.
Also I noted that the file makes extensive use of volatile. is that necessary?
------------------------------>8-------------8<---------------------------------
Test before subtraction on unsigned long intel1size.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
---

Patch

diff --git a/drivers/mtd/maps/nettel.c b/drivers/mtd/maps/nettel.c
index a97133e..ed2fc83 100644
--- a/drivers/mtd/maps/nettel.c
+++ b/drivers/mtd/maps/nettel.c
@@ -349,11 +349,12 @@  static int __init nettel_init(void)
 		goto out_unmap1;
 	}
 
-	intel1size = intel_mtd->size - intel0size;
-	if (intel1size > 0) {
+	if (intel_mtd->size > intel0size) {
+		intel1size = intel_mtd->size - intel0size;
 		*intel1par = SC520_PAR(intel1cs, intel1addr, intel1size);
 		__asm__ ("wbinvd");
 	} else {
+		intel1size = 0;
 		*intel1par = 0;
 	}