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 1c6bc96787745448f29eb1686bf6c7517f0e930f..59f3e0ce56df2bb28a577404daec96d1d15ff55b 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);