On 24/06/14 12:14, Daniel Walter wrote: > Replace parse_mac_addr with mac_pton(). > > > Signed-off-by: Daniel Walter <dwalter@xxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cheers James > --- > Changes since v2 > Use mac_pton() instead of sscanf() > added error handling in case could not be parsed > --- > Patch applies against current linux-git > --- > arch/mips/rb532/devices.c | 27 ++++----------------------- > 1 file changed, 4 insertions(+), 23 deletions(-) > --- > diff --git a/arch/mips/rb532/devices.c b/arch/mips/rb532/devices.c > index 3af00b2..03a4cdc 100644 > --- a/arch/mips/rb532/devices.c > +++ b/arch/mips/rb532/devices.c > @@ -250,28 +250,6 @@ static struct platform_device *rb532_devs[] = { > &rb532_wdt > }; > > -static void __init parse_mac_addr(char *macstr) > -{ > - int i, h, l; > - > - for (i = 0; i < 6; i++) { > - if (i != 5 && *(macstr + 2) != ':') > - return; > - > - h = hex_to_bin(*macstr++); > - if (h == -1) > - return; > - > - l = hex_to_bin(*macstr++); > - if (l == -1) > - return; > - > - macstr++; > - korina_dev0_data.mac[i] = (h << 4) + l; > - } > -} > - > - > /* NAND definitions */ > #define NAND_CHIP_DELAY 25 > > @@ -333,7 +311,10 @@ static int __init plat_setup_devices(void) > static int __init setup_kmac(char *s) > { > printk(KERN_INFO "korina mac = %s\n", s); > - parse_mac_addr(s); > + if (!mac_pton(s, korina_dev0_data.mac)) { > + printk(KERN_ERR "Invalid mac\n"); > + return -EINVAL; > + } > return 0; > } > >