diff options
Diffstat (limited to 'net/dsa/slave.c')
| -rw-r--r-- | net/dsa/slave.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/net/dsa/slave.c b/net/dsa/slave.c index a3fcc1d01615..a1c9fe155057 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c | |||
| @@ -140,11 +140,14 @@ static int dsa_slave_close(struct net_device *dev) | |||
| 140 | static void dsa_slave_change_rx_flags(struct net_device *dev, int change) | 140 | static void dsa_slave_change_rx_flags(struct net_device *dev, int change) |
| 141 | { | 141 | { |
| 142 | struct net_device *master = dsa_slave_to_master(dev); | 142 | struct net_device *master = dsa_slave_to_master(dev); |
| 143 | 143 | if (dev->flags & IFF_UP) { | |
| 144 | if (change & IFF_ALLMULTI) | 144 | if (change & IFF_ALLMULTI) |
| 145 | dev_set_allmulti(master, dev->flags & IFF_ALLMULTI ? 1 : -1); | 145 | dev_set_allmulti(master, |
| 146 | if (change & IFF_PROMISC) | 146 | dev->flags & IFF_ALLMULTI ? 1 : -1); |
| 147 | dev_set_promiscuity(master, dev->flags & IFF_PROMISC ? 1 : -1); | 147 | if (change & IFF_PROMISC) |
| 148 | dev_set_promiscuity(master, | ||
| 149 | dev->flags & IFF_PROMISC ? 1 : -1); | ||
| 150 | } | ||
| 148 | } | 151 | } |
| 149 | 152 | ||
| 150 | static void dsa_slave_set_rx_mode(struct net_device *dev) | 153 | static void dsa_slave_set_rx_mode(struct net_device *dev) |
| @@ -639,7 +642,7 @@ static int dsa_slave_set_eee(struct net_device *dev, struct ethtool_eee *e) | |||
| 639 | int ret; | 642 | int ret; |
| 640 | 643 | ||
| 641 | /* Port's PHY and MAC both need to be EEE capable */ | 644 | /* Port's PHY and MAC both need to be EEE capable */ |
| 642 | if (!dev->phydev && !dp->pl) | 645 | if (!dev->phydev || !dp->pl) |
| 643 | return -ENODEV; | 646 | return -ENODEV; |
| 644 | 647 | ||
| 645 | if (!ds->ops->set_mac_eee) | 648 | if (!ds->ops->set_mac_eee) |
| @@ -659,7 +662,7 @@ static int dsa_slave_get_eee(struct net_device *dev, struct ethtool_eee *e) | |||
| 659 | int ret; | 662 | int ret; |
| 660 | 663 | ||
| 661 | /* Port's PHY and MAC both need to be EEE capable */ | 664 | /* Port's PHY and MAC both need to be EEE capable */ |
| 662 | if (!dev->phydev && !dp->pl) | 665 | if (!dev->phydev || !dp->pl) |
| 663 | return -ENODEV; | 666 | return -ENODEV; |
| 664 | 667 | ||
| 665 | if (!ds->ops->get_mac_eee) | 668 | if (!ds->ops->get_mac_eee) |
