| 1 | From 3e889f1cf928c6d87229761a0bc4c18c775a988b Mon Sep 17 00:00:00 2001 |
| 2 | From: Hauke Mehrtens <hauke@hauke-m.de> |
| 3 | Date: Sun, 17 Jul 2011 21:13:32 +0200 |
| 4 | Subject: [PATCH 21/26] add workarround for wndr3400 |
| 5 | |
| 6 | |
| 7 | Signed-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 | |