diff -urN linux.old/drivers/mtd/maps/bcm947xx-flash.c linux.dev/drivers/mtd/maps/bcm947xx-flash.c
--- linux.old/drivers/mtd/maps/bcm947xx-flash.c 1970-01-01 01:00:00.000000000 +0100
+++ linux.dev/drivers/mtd/maps/bcm947xx-flash.c 2006-06-23 18:08:46.000000000 +0200
-@@ -0,0 +1,547 @@
+@@ -0,0 +1,548 @@
+/*
+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
+ * Copyright (C) 2005 Waldemar Brodkorb <wbx@openwrt.org>
+{
+ int cfe_size;
+
-+ cfe_size = find_cfe_size(mtd,size);
++ if ((cfe_size = find_cfe_size(mtd,size)) < 0)
++ return NULL;
+
+ /* boot loader */
+ bcm947xx_parts[0].offset = 0;
diff -urN linux.old/drivers/mtd/maps/bcm47xx-flash.c linux.dev/drivers/mtd/maps/bcm47xx-flash.c
--- linux.old/drivers/mtd/maps/bcm47xx-flash.c 1970-01-01 01:00:00.000000000 +0100
+++ linux.dev/drivers/mtd/maps/bcm47xx-flash.c 2006-06-23 19:54:06.000000000 +0200
-@@ -0,0 +1,451 @@
+@@ -0,0 +1,452 @@
+/*
+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
+ * Copyright (C) 2005 Waldemar Brodkorb <wbx@openwrt.org>
+{
+ int cfe_size;
+
-+ cfe_size = find_cfe_size(mtd,size);
++ if ((cfe_size = find_cfe_size(mtd,size)) < 0)
++ return NULL;
+
+ /* boot loader */
+ bcm947xx_parts[0].offset = 0;