forked from Minki/linux
staging: wilc1000: refactor wilc_set_multicast_list() function
Refactor wilc_set_multicast_list() by making below changes: o use kmalloc_array o remove unnecessary res o add u8 *cur_mc o use i as index o use '%pM' extension in netdev_dbg() The below checkpatch issue is also resolved after code refactor. 'spaces preferred around that '/' (ctx:VxV)' Suggested-by: Joe Perches <joe@perches.com> Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
fb8ec2158f
commit
ba853fe6f8
@ -796,9 +796,9 @@ static void wilc_set_multicast_list(struct net_device *dev)
|
||||
{
|
||||
struct netdev_hw_addr *ha;
|
||||
struct wilc_vif *vif = netdev_priv(dev);
|
||||
int i = 0;
|
||||
int i;
|
||||
u8 *mc_list;
|
||||
int res;
|
||||
u8 *cur_mc;
|
||||
|
||||
if (dev->flags & IFF_PROMISC)
|
||||
return;
|
||||
@ -814,20 +814,20 @@ static void wilc_set_multicast_list(struct net_device *dev)
|
||||
return;
|
||||
}
|
||||
|
||||
mc_list = kmalloc(dev->mc.count * ETH_ALEN, GFP_KERNEL);
|
||||
mc_list = kmalloc_array(dev->mc.count, ETH_ALEN, GFP_KERNEL);
|
||||
if (!mc_list)
|
||||
return;
|
||||
|
||||
cur_mc = mc_list;
|
||||
i = 0;
|
||||
netdev_for_each_mc_addr(ha, dev) {
|
||||
memcpy(mc_list + i, ha->addr, ETH_ALEN);
|
||||
netdev_dbg(dev, "Entry[%d]: %x:%x:%x:%x:%x:%x\n", i/ETH_ALEN,
|
||||
mc_list[i], mc_list[i + 1], mc_list[i + 2],
|
||||
mc_list[i + 3], mc_list[i + 4], mc_list[i + 5]);
|
||||
i += ETH_ALEN;
|
||||
memcpy(cur_mc, ha->addr, ETH_ALEN);
|
||||
netdev_dbg(dev, "Entry[%d]: %pM\n", i, cur_mc);
|
||||
i++;
|
||||
cur_mc += ETH_ALEN;
|
||||
}
|
||||
|
||||
res = wilc_setup_multicast_filter(vif, true, dev->mc.count, mc_list);
|
||||
if (res)
|
||||
if (wilc_setup_multicast_filter(vif, true, dev->mc.count, mc_list))
|
||||
kfree(mc_list);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user