Root/target/linux/brcm47xx/patches-3.0/0021-add-workarround-for-wndr3400.patch

1From 3e889f1cf928c6d87229761a0bc4c18c775a988b Mon Sep 17 00:00:00 2001
2From: Hauke Mehrtens <hauke@hauke-m.de>
3Date: Sun, 17 Jul 2011 21:13:32 +0200
4Subject: [PATCH 21/26] add workarround for wndr3400
5
6
7Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8---
9 drivers/mtd/bcm47xxpart.c | 17 ++++++++++++-----
10 1 files changed, 12 insertions(+), 5 deletions(-)
11
12--- a/drivers/mtd/bcm47xxpart.c
13+++ b/drivers/mtd/bcm47xxpart.c
14@@ -78,11 +78,12 @@ struct trx_header {
15 
16 #define NVRAM_SPACE 0x8000
17 
18-#define ROUTER_NETGEAR_WGR614L 1
19-#define ROUTER_NETGEAR_WNR834B 2
20-#define ROUTER_NETGEAR_WNDR3300 3
21-#define ROUTER_NETGEAR_WNR3500L 4
22-#define ROUTER_SIMPLETECH_SIMPLESHARE 5
23+#define ROUTER_NETGEAR_WGR614L 1
24+#define ROUTER_NETGEAR_WNR834B 2
25+#define ROUTER_NETGEAR_WNDR3300 3
26+#define ROUTER_NETGEAR_WNR3500L 4
27+#define ROUTER_SIMPLETECH_SIMPLESHARE 5
28+#define ROUTER_NETGEAR_WNDR3400 6
29 
30 static struct mtd_partition bcm47xx_parts[] = {
31     { name: "cfe", offset:0, size:0, mask_flags:MTD_WRITEABLE, },
32@@ -400,6 +401,11 @@ static int get_router(void)
33         return ROUTER_NETGEAR_WNR3500L;
34     }
35 
36+ if (boardnum == 1 && boardtype == 0xb4cf && boardrev == 0x1100) {
37+ /* Netgear WNDR3400 */
38+ return ROUTER_NETGEAR_WNDR3400;
39+ }
40+
41     if (boardtype == 0x042f
42       && boardrev == 0x10
43       && boardflags == 0
44@@ -440,6 +446,7 @@ static int parse_bcm47xx_partitions(stru
45         case ROUTER_NETGEAR_WNR834B:
46         case ROUTER_NETGEAR_WNDR3300:
47         case ROUTER_NETGEAR_WNR3500L:
48+ case ROUTER_NETGEAR_WNDR3400:
49             /* Netgear: checksum is @ 0x003AFFF8 for 4M flash or checksum
50              * is @ 0x007AFFF8 for 8M flash
51              */
52

Archive Download this file



interactive