diff mbox series

[-next] net/ps3_gelic_net: Use ether_addr_to_u64() to convert ethernet address

Message ID 20230808114050.4034547-1-lizetao1@huawei.com (mailing list archive)
State Handled Elsewhere
Headers show
Series [-next] net/ps3_gelic_net: Use ether_addr_to_u64() to convert ethernet address | expand

Commit Message

Li Zetao Aug. 8, 2023, 11:40 a.m. UTC
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 <lizetao1@huawei.com>
---
 drivers/net/ethernet/toshiba/ps3_gelic_net.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

Comments

Geoff Levand Aug. 8, 2023, 5:32 p.m. UTC | #1
Hi,

On 8/8/23 04:40, Li Zetao wrote:
> 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 <lizetao1@huawei.com>
> ---
>  drivers/net/ethernet/toshiba/ps3_gelic_net.c | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)

I tested this on PS3 and it seems to be working OK.
Thanks for your contribution.

Tested-by: Geoff Levand <geoff@infradead.org>
Simon Horman Aug. 9, 2023, 2:39 p.m. UTC | #2
On Tue, Aug 08, 2023 at 07:40:50PM +0800, Li Zetao wrote:
> 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 <lizetao1@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;

Hi Li Zetao,

It looks like i is now unused in this function and should be removed.

> -	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
diff mbox series

Patch

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);