bgmac: allow bigger et_swtype nvram variable
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 15 Sep 2013 20:49:08 +0000 (22:49 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 17 Sep 2013 01:30:59 +0000 (21:30 -0400)
Without this patch it is impossible to read et_swtype, because the 1
byte space is needed for the terminating null byte. The max expected
value is 0xF, so now it should be possible to read decimal form ("15")
and hex form ("0xF").

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bgmac.c

index 1c6bc96..59f3e0c 100644 (file)
@@ -909,9 +909,9 @@ static void bgmac_chip_reset(struct bgmac *bgmac)
                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);