Skip to content

Commit 73dcb55

Browse files
ffainellidavem330
authored andcommitted
net: dsa: Unregister slave_dev in error path
With commit 0071f56 ("dsa: Register netdev before phy"), we are now trying to free a network device that has been previously registered, and in case of errors, this will make us hit the BUG_ON(dev->reg_state != NETREG_UNREGISTERED) condition. Fix this by adding a missing unregister_netdev() before free_netdev(). Fixes: 0071f56 ("dsa: Register netdev before phy") Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 79be1a1 commit 73dcb55

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

net/dsa/slave.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1204,6 +1204,7 @@ int dsa_slave_create(struct dsa_switch *ds, struct device *parent,
12041204
ret = dsa_slave_phy_setup(p, slave_dev);
12051205
if (ret) {
12061206
netdev_err(master, "error %d setting up slave phy\n", ret);
1207+
unregister_netdev(slave_dev);
12071208
free_netdev(slave_dev);
12081209
return ret;
12091210
}

0 commit comments

Comments
 (0)