brcm47xx: bgmac: allow bigger et_swtype nvram variable
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 15 Sep 2013 15:50:41 +0000 (15:50 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 15 Sep 2013 15:50:41 +0000 (15:50 +0000)
Without this patch it is impossible to read et_swtype, because the 1
byte space is needed for the terminating null byte. Now it should be
possible to read decimal and hex vars of max 8 bit.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 37999

target/linux/brcm47xx/patches-3.10/711-bgmac_fix_parsing_of_et_swtype.patch [new file with mode: 0644]

diff --git a/target/linux/brcm47xx/patches-3.10/711-bgmac_fix_parsing_of_et_swtype.patch b/target/linux/brcm47xx/patches-3.10/711-bgmac_fix_parsing_of_et_swtype.patch
new file mode 100644 (file)
index 0000000..21342ff
--- /dev/null
@@ -0,0 +1,14 @@
+--- a/drivers/net/ethernet/broadcom/bgmac.c
++++ b/drivers/net/ethernet/broadcom/bgmac.c
+@@ -909,9 +909,9 @@ static void bgmac_chip_reset(struct bgma
+               u8 et_swtype = 0;
+               u8 sw_type = BGMAC_CHIPCTL_1_SW_TYPE_EPHY |
+                            BGMAC_CHIPCTL_1_IF_TYPE_MII;
+-              char buf[2];
++              char buf[4];
+-              if (bcm47xx_nvram_getenv("et_swtype", buf, 1) > 0) {
++              if (bcm47xx_nvram_getenv("et_swtype", buf, sizeof(buf)) > 0) {
+                       if (kstrtou8(buf, 0, &et_swtype))
+                               bgmac_err(bgmac, "Failed to parse et_swtype (%s)\n",
+                                         buf);