netdev: add missing set_mac_address hook
authorStephen Hemminger <shemminger@vyatta.com>
Fri, 9 Jan 2009 11:13:14 +0000 (11:13 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 11 Jan 2009 08:06:36 +0000 (00:06 -0800)
Many drivers lost the ability to set ethernet address accidently
during the net_device_ops conversion.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
27 files changed:
drivers/net/3c503.c
drivers/net/8139cp.c
drivers/net/8139too.c
drivers/net/8390.c
drivers/net/8390p.c
drivers/net/arm/etherh.c
drivers/net/e2100.c
drivers/net/enic/enic_main.c
drivers/net/hamachi.c
drivers/net/hp-plus.c
drivers/net/hydra.c
drivers/net/mac8390.c
drivers/net/ne-h8300.c
drivers/net/ne2k-pci.c
drivers/net/ns83820.c
drivers/net/r6040.c
drivers/net/sc92031.c
drivers/net/sis900.c
drivers/net/smc-mca.c
drivers/net/smc-ultra.c
drivers/net/smsc911x.c
drivers/net/smsc9420.c
drivers/net/via-rhine.c
drivers/net/via-velocity.c
drivers/net/wd.c
drivers/net/yellowfin.c
drivers/net/zorro8390.c

index c092c3929224d6fd3925f53107cea65ca427aa3f..5b91a85fe107f64d312159e80733cfefcb526ae5 100644 (file)
@@ -177,6 +177,7 @@ static const struct net_device_ops el2_netdev_ops = {
        .ndo_get_stats          = eip_get_stats,
        .ndo_set_multicast_list = eip_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = eip_poll,
index dd7ac8290aecfc7323554e90ab0850fe64713346..4e19ae3ce6bef0d2f10b9c4225974ee6e088754a 100644 (file)
@@ -1821,6 +1821,7 @@ static const struct net_device_ops cp_netdev_ops = {
        .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_netdev_ops = {
 #ifdef BROKEN
        .ndo_change_mtu         = cp_change_mtu,
 #endif
+
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = cp_poll_controller,
 #endif
index fe370f8057933244e544cd5849e064e514edaa11..a5b24202d5649e5c292e5267701d39f0699bae9a 100644 (file)
@@ -917,6 +917,7 @@ static const struct net_device_ops rtl8139_netdev_ops = {
        .ndo_stop               = rtl8139_close,
        .ndo_get_stats          = rtl8139_get_stats,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_start_xmit         = rtl8139_start_xmit,
        .ndo_set_multicast_list = rtl8139_set_rx_mode,
        .ndo_do_ioctl           = netdev_ioctl,
@@ -924,7 +925,6 @@ static const struct net_device_ops rtl8139_netdev_ops = {
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = rtl8139_poll_controller,
 #endif
-
 };
 
 static int __devinit rtl8139_init_one (struct pci_dev *pdev,
index fbe609a51e02c5952e6b437f8183e344af0c4fbc..ec3e22e6306fd115ab2153b7faef2ec0b985a746 100644 (file)
@@ -63,6 +63,7 @@ const struct net_device_ops ei_netdev_ops = {
        .ndo_get_stats          = ei_get_stats,
        .ndo_set_multicast_list = ei_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = ei_poll,
index ee70b358a816aedf83535017c55ab3af8d4cc254..da863c91d1d03d79df3c59785d09162190e0c581 100644 (file)
@@ -68,6 +68,7 @@ const struct net_device_ops eip_netdev_ops = {
        .ndo_get_stats          = eip_get_stats,
        .ndo_set_multicast_list = eip_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = eip_poll,
index 6278606d1049546966f0b51aaad941dfbded6973..745ac188babe8c6419b81d0956002388b7a8a21c 100644 (file)
@@ -646,6 +646,7 @@ static const struct net_device_ops etherh_netdev_ops = {
        .ndo_get_stats          = ei_get_stats,
        .ndo_set_multicast_list = ei_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_addr       = eth_set_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = ei_poll,
index 20eb05cddb83ab92bcb770a57b1c378b7f0c02bb..b07ba1924de0b907ef5bdd6c298d5a83edd8b375 100644 (file)
@@ -169,6 +169,7 @@ static const struct net_device_ops e21_netdev_ops = {
        .ndo_get_stats          = ei_get_stats,
        .ndo_set_multicast_list = ei_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = ei_poll,
index d039e16f276355a1552e4b6be6a7aecdf1bd0b66..7d60551d538fccae67b2638ac8b85f985938a8b4 100644 (file)
@@ -1599,6 +1599,7 @@ static const struct net_device_ops enic_netdev_ops = {
        .ndo_start_xmit         = enic_hard_start_xmit,
        .ndo_get_stats          = enic_get_stats,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_set_multicast_list = enic_set_multicast_list,
        .ndo_change_mtu         = enic_change_mtu,
        .ndo_vlan_rx_register   = enic_vlan_rx_register,
index 32200227c9236ea22fb791992531353ab0a729c4..7e8b3c59a7d6ca1f2613e2d3028b3f3b18f7d952 100644 (file)
@@ -576,6 +576,7 @@ static const struct net_device_ops hamachi_netdev_ops = {
        .ndo_set_multicast_list = set_rx_mode,
        .ndo_change_mtu         = eth_change_mtu,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_tx_timeout         = hamachi_tx_timeout,
        .ndo_do_ioctl           = netdev_ioctl,
 };
index b507dbc16e62adc5dfb8eaf3b8bfc66ed86b9a95..5e070f44663504b7207e19caeb7fdd2a91621acb 100644 (file)
@@ -166,6 +166,7 @@ static const struct net_device_ops hpp_netdev_ops = {
        .ndo_get_stats          = eip_get_stats,
        .ndo_set_multicast_list = eip_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = eip_poll,
index 9cb38a8d4387b8f20f213ebf3d6d9f15361c3a2d..8ac0930c183cac23809b96d37964ba4fef2e0000 100644 (file)
@@ -103,6 +103,7 @@ static const struct net_device_ops hydra_netdev_ops = {
        .ndo_get_stats          = ei_get_stats,
        .ndo_set_multicast_list = ei_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = ei_poll,
index 57716e22660cc6091f7f99620bf5ee08e2624ede..8e884869a05bfd40995af322554e6601c6d129c5 100644 (file)
@@ -486,6 +486,7 @@ static const struct net_device_ops mac8390_netdev_ops = {
        .ndo_get_stats          = ei_get_stats,
        .ndo_set_multicast_list = ei_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = ei_poll,
index b57239171046a50cc04ff11d3682af1a42990e34..7bd6662d5b044e2bd59503cd4a80af76a4c92f08 100644 (file)
@@ -202,6 +202,7 @@ static const struct net_device_ops ne_netdev_ops = {
        .ndo_get_stats          = ei_get_stats,
        .ndo_set_multicast_list = ei_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = ei_poll,
index 62f20ba211cb7d0b98f78df1c8cea83166e152a7..f090d3b9ec94791fd69a7a89067dfa61caa927d9 100644 (file)
@@ -208,6 +208,7 @@ static const struct net_device_ops ne2k_netdev_ops = {
        .ndo_get_stats          = ei_get_stats,
        .ndo_set_multicast_list = ei_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller = ei_poll,
index 42021aca1ddd038801cf3deefbe01950f1003ddc..e80294d8cc19e48fc5c230d2d78b50159235110f 100644 (file)
@@ -1956,6 +1956,7 @@ static const struct net_device_ops netdev_ops = {
        .ndo_change_mtu         = ns83820_change_mtu,
        .ndo_set_multicast_list = ns83820_set_multicast,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_tx_timeout         = ns83820_tx_timeout,
 #ifdef NS83820_VLAN_ACCEL_SUPPORT
        .ndo_vlan_rx_register   = ns83820_vlan_rx_register,
index 454e7dea0bc226c5c6f4d90f878e2873c121101e..72fd9e97c190f0ebc5e43b0f259db775b6287916 100644 (file)
@@ -1059,6 +1059,7 @@ static const struct net_device_ops r6040_netdev_ops = {
        .ndo_set_multicast_list = r6040_multicast_list,
        .ndo_change_mtu         = eth_change_mtu,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_do_ioctl           = r6040_ioctl,
        .ndo_tx_timeout         = r6040_tx_timeout,
 #ifdef CONFIG_NET_POLL_CONTROLLER
index 42fd31276602a6b15c90ea405238cf26bb97a345..8b75bef4a841a7ae2d13552ea856b2630d14bee9 100644 (file)
@@ -1408,6 +1408,7 @@ static const struct net_device_ops sc92031_netdev_ops = {
        .ndo_set_multicast_list = sc92031_set_multicast_list,
        .ndo_change_mtu         = eth_change_mtu,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_tx_timeout         = sc92031_tx_timeout,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = sc92031_poll_controller,
index 4acd41a093ad8a19c1259eef5650af802b942782..6cbefcae9ac2c844e6334390cb33a7ef8ddb3006 100644 (file)
@@ -389,6 +389,7 @@ static const struct net_device_ops sis900_netdev_ops = {
        .ndo_set_multicast_list = set_rx_mode,
        .ndo_change_mtu         = eth_change_mtu,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_do_ioctl           = mii_ioctl,
        .ndo_tx_timeout         = sis900_tx_timeout,
 #ifdef CONFIG_NET_POLL_CONTROLLER
index 404b80e5ba11b7cea9f2c3f7ad987704b6b8c280..8d36d40649eff2701e5faac99531dc6407435413 100644 (file)
@@ -192,6 +192,7 @@ static const struct net_device_ops ultramca_netdev_ops = {
        .ndo_get_stats          = ei_get_stats,
        .ndo_set_multicast_list = ei_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = ei_poll,
index b3866089a206a48d4ad2900de16f80b754e07be0..2033fee3143a1203c87a8fb2e1e2aa924752592a 100644 (file)
@@ -196,6 +196,7 @@ static const struct net_device_ops ultra_netdev_ops = {
        .ndo_get_stats          = ei_get_stats,
        .ndo_set_multicast_list = ei_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = ei_poll,
index dc3f1108884d0709159246031c6252e1f42079f6..020c5830c37ddc6fafd59c1e9fc08c4e382175e9 100644 (file)
@@ -1740,6 +1740,7 @@ static const struct net_device_ops smsc911x_netdev_ops = {
        .ndo_set_multicast_list = smsc911x_set_multicast_list,
        .ndo_do_ioctl           = smsc911x_do_ioctl,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = smsc911x_poll_controller,
 #endif
index 27e017d969667f474b4c647c23c1fffe42a19bbf..c14a4c6452c7ef6fa7e1fb08fb71f32bcb74a6b2 100644 (file)
@@ -1551,6 +1551,7 @@ static const struct net_device_ops smsc9420_netdev_ops = {
        .ndo_set_multicast_list = smsc9420_set_multicast_list,
        .ndo_do_ioctl           = smsc9420_do_ioctl,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = smsc9420_poll_controller,
 #endif /* CONFIG_NET_POLL_CONTROLLER */
index ac07cc6e3cb214eb7a56336205836e0b50bdfb1c..3b8e63254277e1bdb5c1d7b86afcc47c77939646 100644 (file)
@@ -622,6 +622,7 @@ static const struct net_device_ops rhine_netdev_ops = {
        .ndo_get_stats           = rhine_get_stats,
        .ndo_set_multicast_list  = rhine_set_rx_mode,
        .ndo_validate_addr       = eth_validate_addr,
+       .ndo_set_mac_address     = eth_mac_addr,
        .ndo_do_ioctl            = netdev_ioctl,
        .ndo_tx_timeout          = rhine_tx_timeout,
 #ifdef CONFIG_NET_POLL_CONTROLLER
index 58e25d090ae0687b7ca05a762447df7c6408f414..a75f91dc315315d5352696d246ca2cb1f6141815 100644 (file)
@@ -855,6 +855,7 @@ static const struct net_device_ops velocity_netdev_ops = {
        .ndo_start_xmit         = velocity_xmit,
        .ndo_get_stats          = velocity_get_stats,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_set_multicast_list = velocity_set_multi,
        .ndo_change_mtu         = velocity_change_mtu,
        .ndo_do_ioctl           = velocity_ioctl,
index 3c1edda08d3d5d6827f32618690db332b01b7b55..d8322d2d1e2908b0412ad5b7220e8483a04aa3e9 100644 (file)
@@ -155,6 +155,7 @@ static const struct net_device_ops wd_netdev_ops = {
        .ndo_get_stats          = ei_get_stats,
        .ndo_set_multicast_list = ei_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = ei_poll,
index cf97129227780ee2f8d2427f687c6e5c1f4128ca..2f1645dcb8c81e3a8bbd91a792f97f2619135a79 100644 (file)
@@ -362,6 +362,7 @@ static const struct net_device_ops netdev_ops = {
        .ndo_set_multicast_list = set_rx_mode,
        .ndo_change_mtu         = eth_change_mtu,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_do_ioctl           = netdev_ioctl,
        .ndo_tx_timeout         = yellowfin_tx_timeout,
 };
index affd904deafc6c885f3a4e5c0908561ffa654f23..37c84e3b8be083426a89e1e68686dbb0ad569764 100644 (file)
@@ -147,6 +147,7 @@ static const struct net_device_ops zorro8390_netdev_ops = {
        .ndo_get_stats          = ei_get_stats,
        .ndo_set_multicast_list = ei_set_multicast_list,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
        .ndo_change_mtu         = eth_change_mtu,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = ei_poll,