sis190: Rx filter init is needed for MAC address change.

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>
This commit is contained in:
Klement Fish 2011-07-28 06:03:22 +00:00 committed by David S. Miller
parent 4203223a1a
commit fe66101f14
1 changed files with 11 additions and 1 deletions

View File

@ -1825,6 +1825,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); 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 = { static const struct net_device_ops sis190_netdev_ops = {
.ndo_open = sis190_open, .ndo_open = sis190_open,
.ndo_stop = sis190_close, .ndo_stop = sis190_close,
@ -1833,7 +1843,7 @@ static const struct net_device_ops sis190_netdev_ops = {
.ndo_tx_timeout = sis190_tx_timeout, .ndo_tx_timeout = sis190_tx_timeout,
.ndo_set_multicast_list = sis190_set_rx_mode, .ndo_set_multicast_list = sis190_set_rx_mode,
.ndo_change_mtu = eth_change_mtu, .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, .ndo_validate_addr = eth_validate_addr,
#ifdef CONFIG_NET_POLL_CONTROLLER #ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = sis190_netpoll, .ndo_poll_controller = sis190_netpoll,