From 57c6730ed623e347ed8eae420e5e2fa6e67ebecc Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 15 Sep 2013 15:50:41 +0000 Subject: [PATCH] brcm47xx: bgmac: allow bigger et_swtype nvram variable 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 SVN-Revision: 37999 --- .../711-bgmac_fix_parsing_of_et_swtype.patch | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 target/linux/brcm47xx/patches-3.10/711-bgmac_fix_parsing_of_et_swtype.patch 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 index 00000000000..21342ffd806 --- /dev/null +++ b/target/linux/brcm47xx/patches-3.10/711-bgmac_fix_parsing_of_et_swtype.patch @@ -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);