diff options
Diffstat (limited to 'net/dsa/dsa.c')
-rw-r--r-- | net/dsa/dsa.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index 517215391514..6aacc2314a8f 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c | |||
@@ -118,10 +118,7 @@ int dsa_cpu_port_ethtool_setup(struct dsa_port *cpu_dp) | |||
118 | struct net_device *master; | 118 | struct net_device *master; |
119 | struct ethtool_ops *cpu_ops; | 119 | struct ethtool_ops *cpu_ops; |
120 | 120 | ||
121 | master = ds->dst->master_netdev; | 121 | master = ds->dst->cpu_dp->netdev; |
122 | if (ds->master_netdev) | ||
123 | master = ds->master_netdev; | ||
124 | |||
125 | cpu_ops = devm_kzalloc(ds->dev, sizeof(*cpu_ops), GFP_KERNEL); | 122 | cpu_ops = devm_kzalloc(ds->dev, sizeof(*cpu_ops), GFP_KERNEL); |
126 | if (!cpu_ops) | 123 | if (!cpu_ops) |
127 | return -ENOMEM; | 124 | return -ENOMEM; |
@@ -142,9 +139,7 @@ void dsa_cpu_port_ethtool_restore(struct dsa_port *cpu_dp) | |||
142 | struct dsa_switch *ds = cpu_dp->ds; | 139 | struct dsa_switch *ds = cpu_dp->ds; |
143 | struct net_device *master; | 140 | struct net_device *master; |
144 | 141 | ||
145 | master = ds->dst->master_netdev; | 142 | master = ds->dst->cpu_dp->netdev; |
146 | if (ds->master_netdev) | ||
147 | master = ds->master_netdev; | ||
148 | 143 | ||
149 | master->ethtool_ops = ds->dst->master_orig_ethtool_ops; | 144 | master->ethtool_ops = ds->dst->master_orig_ethtool_ops; |
150 | } | 145 | } |