From 29a5029bce59a71b039640e5fd1a72a39719fa46 Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 18 May 2008 17:32:05 +0000 Subject: [PATCH] bcm963xx: fix cfe detection The CFE detection failed to account for zero termination. Signed-off-by: Axel Gembe git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11182 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../110-bcm963xx_fix_cfe_detection.patch | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 target/linux/brcm63xx/patches-2.6.25/110-bcm963xx_fix_cfe_detection.patch diff --git a/target/linux/brcm63xx/patches-2.6.25/110-bcm963xx_fix_cfe_detection.patch b/target/linux/brcm63xx/patches-2.6.25/110-bcm963xx_fix_cfe_detection.patch new file mode 100644 index 000000000..dcc92eeec --- /dev/null +++ b/target/linux/brcm63xx/patches-2.6.25/110-bcm963xx_fix_cfe_detection.patch @@ -0,0 +1,46 @@ +From f1a605c36cf1659f5f486ae4135de1e285fdf86c Mon Sep 17 00:00:00 2001 +From: Axel Gembe +Date: Sat, 17 May 2008 16:17:22 +0200 +Subject: [PATCH] bcm963xx: fix cfe detection + +The CFE detection failed to account for zero termination. + +Signed-off-by: Axel Gembe +--- + drivers/mtd/maps/bcm963xx-flash.c | 11 ++++++----- + 1 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/drivers/mtd/maps/bcm963xx-flash.c b/drivers/mtd/maps/bcm963xx-flash.c +index c4c4526..4da672b 100644 +--- a/drivers/mtd/maps/bcm963xx-flash.c ++++ b/drivers/mtd/maps/bcm963xx-flash.c +@@ -1,8 +1,7 @@ + /* +- * $Id$ + * Copyright (C) 2006 Florian Fainelli +- * Mike Albon +- * Copyright (C) $Date$ $Author$ ++ * Mike Albon ++ * Copyright (C) 2008 Axel Gembe + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -184,11 +183,13 @@ static int bcm963xx_parts_size = sizeof(bcm963xx_parts) / sizeof(bcm963xx_parts[ + static int bcm963xx_detect_cfe(struct mtd_info *master) + { + int idoffset = 0x4e0; +- static char idstring[8] = "CFE1CFE1"; +- char buf[8]; ++ static char idstring[9] = "CFE1CFE1"; ++ char buf[9]; + int ret; + size_t retlen; + ++ memset(buf, 0, sizeof(buf)); ++ + ret = master->read(master, idoffset, 8, &retlen, (void *)buf); + printk("bcm963xx: Read Signature value of %s\n", buf); + return strcmp(idstring,buf); +-- +1.5.5.1 + -- 2.20.1