Many drivers lost the ability to set ethernet address accidently during the net_device_ops conversion. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> --- drivers/net/3c503.c | 1 + drivers/net/8139cp.c | 2 ++ drivers/net/8139too.c | 2 +- drivers/net/8390.c | 1 + drivers/net/8390p.c | 1 + drivers/net/arm/etherh.c | 1 + drivers/net/e2100.c | 1 + drivers/net/enic/enic_main.c | 1 + drivers/net/hamachi.c | 1 + drivers/net/hp-plus.c | 1 + drivers/net/hydra.c | 1 + drivers/net/mac8390.c | 1 + drivers/net/ne-h8300.c | 1 + drivers/net/ne2k-pci.c | 1 + drivers/net/ns83820.c | 1 + drivers/net/r6040.c | 1 + drivers/net/sc92031.c | 1 + drivers/net/sis900.c | 1 + drivers/net/smc-mca.c | 1 + drivers/net/smc-ultra.c | 1 + drivers/net/smsc911x.c | 1 + drivers/net/smsc9420.c | 1 + drivers/net/via-rhine.c | 1 + drivers/net/via-velocity.c | 1 + drivers/net/wd.c | 1 + drivers/net/yellowfin.c | 1 + drivers/net/zorro8390.c | 1 + 27 files changed, 28 insertions(+), 1 deletion(-) --- a/drivers/net/8139cp.c 2009-01-09 12:34:28.000000000 -0800 +++ b/drivers/net/8139cp.c 2009-01-09 12:34:33.000000000 -0800 @@ -1821,6 +1821,7 @@ static const struct net_device_ops cp_ne .ndo_open = cp_open, .ndo_stop = cp_close, .ndo_validate_addr = eth_validate_addr, + .ndo_set_mac_address = eth_mac_addr, .ndo_set_multicast_list = cp_set_rx_mode, .ndo_get_stats = cp_get_stats, .ndo_do_ioctl = cp_ioctl, @@ -1832,6 +1833,7 @@ static const struct net_device_ops cp_ne #ifdef BROKEN .ndo_change_mtu = cp_change_mtu, #endif + #ifdef CONFIG_NET_POLL_CONTROLLER .ndo_poll_controller = cp_poll_controller, #endif --- a/drivers/net/8139too.c 2009-01-09 12:34:28.000000000 -0800 +++ ...
Some devices were converted incorrectly and are missing the validate address hooks. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> --- a/drivers/net/acenic.c 2009-01-08 08:30:09.000000000 -0800 +++ b/drivers/net/acenic.c 2009-01-09 12:40:17.000000000 -0800 @@ -460,6 +460,7 @@ static const struct net_device_ops ace_n .ndo_get_stats = ace_get_stats, .ndo_start_xmit = ace_start_xmit, .ndo_set_multicast_list = ace_set_multicast_list, + .ndo_validate_addr = eth_validate_addr, .ndo_set_mac_address = ace_set_mac_addr, .ndo_change_mtu = ace_change_mtu, #if ACENIC_DO_VLAN --- a/drivers/net/arm/ks8695net.c 2009-01-08 08:30:09.000000000 -0800 +++ b/drivers/net/arm/ks8695net.c 2009-01-09 12:40:37.000000000 -0800 @@ -1357,6 +1357,7 @@ static const struct net_device_ops ks869 .ndo_start_xmit = ks8695_start_xmit, .ndo_tx_timeout = ks8695_timeout, .ndo_set_mac_address = ks8695_set_mac, + .ndo_validate_addr = eth_validate_addr, .ndo_set_multicast_list = ks8695_set_multicast, }; --- a/drivers/net/mlx4/en_netdev.c 2009-01-08 08:30:12.000000000 -0800 +++ b/drivers/net/mlx4/en_netdev.c 2009-01-09 12:41:47.000000000 -0800 @@ -952,6 +952,7 @@ static const struct net_device_ops mlx4_ .ndo_get_stats = mlx4_en_get_stats, .ndo_set_multicast_list = mlx4_en_set_multicast, .ndo_set_mac_address = mlx4_en_set_mac, + .ndo_validate_addr = eth_validate_addr, .ndo_change_mtu = mlx4_en_change_mtu, .ndo_tx_timeout = mlx4_en_tx_timeout, .ndo_vlan_rx_register = mlx4_en_vlan_rx_register, --
From: Stephen Hemminger <shemminger@vyatta.com> Applied. --
Subject: netdev: add missing set_mac_address hook Many drivers lost the ability to set ethernet address accidently during the net_device_ops conversion. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> --- (one file was not refreshed properly in last version) drivers/net/3c503.c | 1 + drivers/net/8139cp.c | 2 ++ drivers/net/8139too.c | 2 +- drivers/net/8390.c | 1 + drivers/net/8390p.c | 1 + drivers/net/arm/etherh.c | 1 + drivers/net/e2100.c | 1 + drivers/net/enic/enic_main.c | 1 + drivers/net/hamachi.c | 1 + drivers/net/hp-plus.c | 1 + drivers/net/hydra.c | 1 + drivers/net/mac8390.c | 1 + drivers/net/ne-h8300.c | 1 + drivers/net/ne2k-pci.c | 1 + drivers/net/ns83820.c | 1 + drivers/net/r6040.c | 1 + drivers/net/sc92031.c | 1 + drivers/net/sis900.c | 1 + drivers/net/smc-mca.c | 1 + drivers/net/smc-ultra.c | 1 + drivers/net/smsc911x.c | 1 + drivers/net/smsc9420.c | 1 + drivers/net/via-rhine.c | 1 + drivers/net/via-velocity.c | 1 + drivers/net/wd.c | 1 + drivers/net/yellowfin.c | 1 + drivers/net/zorro8390.c | 1 + 27 files changed, 28 insertions(+), 1 deletion(-) --- a/drivers/net/8139cp.c 2009-01-09 13:00:05.000000000 -0800 +++ b/drivers/net/8139cp.c 2009-01-09 13:00:08.000000000 -0800 @@ -1821,6 +1821,7 @@ static const struct net_device_ops cp_ne .ndo_open = cp_open, .ndo_stop = cp_close, .ndo_validate_addr = eth_validate_addr, + .ndo_set_mac_address = eth_mac_addr, .ndo_set_multicast_list = cp_set_rx_mode, .ndo_get_stats = cp_get_stats, .ndo_do_ioctl = cp_ioctl, @@ -1832,6 +1833,7 @@ static const struct net_device_ops cp_ne #ifdef BROKEN .ndo_change_mtu = cp_change_mtu, #endif + #ifdef CONFIG_NET_POLL_CONTROLLER .ndo_poll_controller = ...
From: Stephen Hemminger <shemminger@vyatta.com> Applied. --
