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 0000000000000000000000000000000000000000..21342ffd806886baeb90aefe37c5063f5db4802e
--- /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);