brcm47xx: deactivate mips wait instruction only for BCM4706
[openwrt.git] / target / linux / brcm47xx / patches-3.10 / 076-MIPS-BCM47XX-fix-detection-of-some-boards-2.patch
1 --- a/arch/mips/bcm47xx/board.c
2 +++ b/arch/mips/bcm47xx/board.c
3 @@ -180,6 +180,7 @@ struct bcm47xx_board_type_list3 bcm47xx_
4         {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"},
5         {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"},
6         {{BCM47XX_BOARD_LINKSYS_WRT54GSV1, "Linksys WRT54GS V1"}, "0x0101", "42", "0x10"},
7 +       {{BCM47XX_BOARD_BELKIN_F7D330X, "Belkin F7D330X"}, "0xa4cf", NULL, "0x1102" },
8         { {0}, 0},
9  };
10  
11 @@ -270,9 +271,9 @@ static __init const struct bcm47xx_board
12             bcm47xx_nvram_getenv("boardnum", buf2, sizeof(buf2)) >= 0 &&
13             bcm47xx_nvram_getenv("boardrev", buf3, sizeof(buf3)) >= 0) {
14                 for (e3 = bcm47xx_board_list_board; e3->value1; e3++) {
15 -                       if (!strcmp(buf1, e3->value1) &&
16 -                           !strcmp(buf2, e3->value2) &&
17 -                           !strcmp(buf3, e3->value3))
18 +                       if ((!e3->value1 || !strcmp(buf1, e3->value1)) &&
19 +                           (!e3->value2 || !strcmp(buf2, e3->value2)) &&
20 +                           (!e3->value3 || !strcmp(buf3, e3->value3)))
21                                 return &e3->board;
22                 }
23         }
24 --- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
25 +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
26 @@ -28,6 +28,7 @@ enum bcm47xx_board {
27         BCM47XX_BOARD_ASUS_WLHDD,
28  
29         BCM47XX_BOARD_BELKIN_F7D4301,
30 +       BCM47XX_BOARD_BELKIN_F7D330X,
31  
32         BCM47XX_BOARD_BUFFALO_WBR2_G54,
33         BCM47XX_BOARD_BUFFALO_WHR2_A54G54,