Use ether_addr_to_u64() to convert an Ethernet address into a u64 value,
instead of directly calculating, as this is exactly what
this function does.

Signed-off-by: Li Zetao <lizet...@huawei.com>
---
 drivers/net/ethernet/toshiba/ps3_gelic_net.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/toshiba/ps3_gelic_net.c 
b/drivers/net/ethernet/toshiba/ps3_gelic_net.c
index 9d535ae59626..77a02819e412 100644
--- a/drivers/net/ethernet/toshiba/ps3_gelic_net.c
+++ b/drivers/net/ethernet/toshiba/ps3_gelic_net.c
@@ -596,7 +596,6 @@ void gelic_net_set_multi(struct net_device *netdev)
        struct gelic_card *card = netdev_card(netdev);
        struct netdev_hw_addr *ha;
        unsigned int i;
-       uint8_t *p;
        u64 addr;
        int status;
 
@@ -629,12 +628,7 @@ void gelic_net_set_multi(struct net_device *netdev)
 
        /* set multicast addresses */
        netdev_for_each_mc_addr(ha, netdev) {
-               addr = 0;
-               p = ha->addr;
-               for (i = 0; i < ETH_ALEN; i++) {
-                       addr <<= 8;
-                       addr |= *p++;
-               }
+               addr = ether_addr_to_u64(ha->addr);
                status = lv1_net_add_multicast_address(bus_id(card),
                                                       dev_id(card),
                                                       addr, 0);
-- 
2.34.1

Reply via email to