Unverified Commit 4d73b73f authored by Andy Shevchenko's avatar Andy Shevchenko Committed by James Hogan
Browse files

FIRMWARE: bcm47xx_nvram: Replace mac address parsing



Replace sscanf() with mac_pton().

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
Cc: David S. Miller <davem@davemloft.net>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17982/


Signed-off-by: default avatarJames Hogan <jhogan@kernel.org>
parent b68c2575
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -13,6 +13,7 @@ config BCM47XX_NVRAM
config BCM47XX_SPROM
config BCM47XX_SPROM
	bool "Broadcom SPROM driver"
	bool "Broadcom SPROM driver"
	depends on BCM47XX_NVRAM
	depends on BCM47XX_NVRAM
	select GENERIC_NET_UTILS
	help
	help
	  Broadcom devices store configuration data in SPROM. Accessing it is
	  Broadcom devices store configuration data in SPROM. Accessing it is
	  specific to the bus host type, e.g. PCI(e) devices have it mapped in
	  specific to the bus host type, e.g. PCI(e) devices have it mapped in
+3 −15
Original line number Original line Diff line number Diff line
@@ -137,20 +137,6 @@ static void nvram_read_leddc(const char *prefix, const char *name,
	*leddc_off_time = (val >> 16) & 0xff;
	*leddc_off_time = (val >> 16) & 0xff;
}
}


static void bcm47xx_nvram_parse_macaddr(char *buf, u8 macaddr[6])
{
	if (strchr(buf, ':'))
		sscanf(buf, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddr[0],
			&macaddr[1], &macaddr[2], &macaddr[3], &macaddr[4],
			&macaddr[5]);
	else if (strchr(buf, '-'))
		sscanf(buf, "%hhx-%hhx-%hhx-%hhx-%hhx-%hhx", &macaddr[0],
			&macaddr[1], &macaddr[2], &macaddr[3], &macaddr[4],
			&macaddr[5]);
	else
		pr_warn("Can not parse mac address: %s\n", buf);
}

static void nvram_read_macaddr(const char *prefix, const char *name,
static void nvram_read_macaddr(const char *prefix, const char *name,
			       u8 val[6], bool fallback)
			       u8 val[6], bool fallback)
{
{
@@ -161,7 +147,9 @@ static void nvram_read_macaddr(const char *prefix, const char *name,
	if (err < 0)
	if (err < 0)
		return;
		return;


	bcm47xx_nvram_parse_macaddr(buf, val);
	strreplace(buf, '-', ':');
	if (!mac_pton(buf, val))
		pr_warn("Can not parse mac address: %s\n", buf);
}
}


static void nvram_read_alpha2(const char *prefix, const char *name,
static void nvram_read_alpha2(const char *prefix, const char *name,