diff options
Diffstat (limited to 'net/dsa')
-rw-r--r-- | net/dsa/slave.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 241c2a1684cb..398d0663d3dd 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c | |||
@@ -333,6 +333,7 @@ static const struct dsa_device_ops notag_netdev_ops = { | |||
333 | static void dsa_slave_adjust_link(struct net_device *dev) | 333 | static void dsa_slave_adjust_link(struct net_device *dev) |
334 | { | 334 | { |
335 | struct dsa_slave_priv *p = netdev_priv(dev); | 335 | struct dsa_slave_priv *p = netdev_priv(dev); |
336 | struct dsa_switch *ds = p->parent; | ||
336 | unsigned int status_changed = 0; | 337 | unsigned int status_changed = 0; |
337 | 338 | ||
338 | if (p->old_link != p->phy->link) { | 339 | if (p->old_link != p->phy->link) { |
@@ -350,6 +351,9 @@ static void dsa_slave_adjust_link(struct net_device *dev) | |||
350 | p->old_pause = p->phy->pause; | 351 | p->old_pause = p->phy->pause; |
351 | } | 352 | } |
352 | 353 | ||
354 | if (ds->drv->adjust_link && status_changed) | ||
355 | ds->drv->adjust_link(ds, p->port, p->phy); | ||
356 | |||
353 | if (status_changed) | 357 | if (status_changed) |
354 | phy_print_status(p->phy); | 358 | phy_print_status(p->phy); |
355 | } | 359 | } |