aboutsummaryrefslogtreecommitdiffstats
path: root/net/dsa
diff options
context:
space:
mode:
Diffstat (limited to 'net/dsa')
-rw-r--r--net/dsa/slave.c4
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 = {
333static void dsa_slave_adjust_link(struct net_device *dev) 333static 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}