Fix to jedec_probe unlock addresses

Ben Dooks ben-mtd at fluff.org
Mon Sep 20 19:44:50 EDT 2004


Fix unlock address calculation for non-x8 chips for the
cfi cmdset code, which assumes always X8

Patch against 2.6.9-rc2 with 19th September CVS

Signed-off-by: Ben Dooks <ben-mtd at fluff.org>

--- linux-2.6.9-rc2-bk6-mtd20040919/drivers/mtd/chips/jedec_probe.c	2004-09-20 13:02:46.000000000 +0100
+++ linux-2.6.9-rc2-bk6-mtd20040919-work/drivers/mtd/chips/jedec_probe.c	2004-09-20 23:21:40.000000000 +0100
@@ -2046,7 +2046,15 @@
 	printk(KERN_INFO "%s: Found %d x%d devices at 0x%x in %d-bit bank\n",
 	       map->name, cfi_interleave(cfi), cfi->device_type*8, base, 
 	       map->bankwidth*8);
-	
+
+	/* fixup unlock addresses for the cmdset */
+
+	cfi->addr_unlock1 *= cfi_interleave(cfi) * cfi->device_type;
+	cfi->addr_unlock2 *= cfi_interleave(cfi) * cfi->device_type;
+
+	printk(KERN_DEBUG "unlocks at %08x,%08x\n", 
+	       cfi->addr_unlock1, cfi->addr_unlock2);
+
 	return 1;
 }
 




More information about the linux-mtd mailing list