aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlement Fish <klement2@azet.sk>2011-07-28 06:03:22 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-15 18:31:39 -0700
commit04124c684acdab48c4d990235d5f16343e55d088 (patch)
tree5b44e23c17a5d428404c347f450bd4b055a3e5d7
parent3b9dfc69a292c4397815756bb404f2cda44ae7de (diff)
sis190: Rx filter init is needed for MAC address change.
[ Upstream commit fe66101f14813b77d84f6450d51772a2af2b81a1 ] Addresses https://bugzilla.kernel.org/show_bug.cgi?id=34552 Signed-off-by: Klement Fish <klement2@azet.sk> Acked-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/net/sis190.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c
index b436e007eea..f6d26ab30e8 100644
--- a/drivers/net/sis190.c
+++ b/drivers/net/sis190.c
@@ -1824,6 +1824,16 @@ static int sis190_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
generic_mii_ioctl(&tp->mii_if, if_mii(ifr), cmd, NULL);
}
+static int sis190_mac_addr(struct net_device *dev, void *p)
+{
+ int rc;
+
+ rc = eth_mac_addr(dev, p);
+ if (!rc)
+ sis190_init_rxfilter(dev);
+ return rc;
+}
+
static const struct net_device_ops sis190_netdev_ops = {
.ndo_open = sis190_open,
.ndo_stop = sis190_close,
@@ -1832,7 +1842,7 @@ static const struct net_device_ops sis190_netdev_ops = {
.ndo_tx_timeout = sis190_tx_timeout,
.ndo_set_multicast_list = sis190_set_rx_mode,
.ndo_change_mtu = eth_change_mtu,
- .ndo_set_mac_address = eth_mac_addr,
+ .ndo_set_mac_address = sis190_mac_addr,
.ndo_validate_addr = eth_validate_addr,
#ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = sis190_netpoll,