mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 06:12:08 +00:00
stmmac: priv->lock can be used uninitialized
To reproduce: if connman (http://connman.net/) is started, inserting the stmmac module triggers a "BUG: spinlock bad magic on CPU#0". Registering the device in stmmac_probe() sends a notification to connman which brings the interface up before the lock is initialized. Signed-off-by: Vlad Lungu <vlad.lungu@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6dcdd1b369
commit
f8e9616108
@ -1509,6 +1509,8 @@ static int stmmac_probe(struct net_device *dev)
|
||||
pr_warning("\tno valid MAC address;"
|
||||
"please, use ifconfig or nwhwconfig!\n");
|
||||
|
||||
spin_lock_init(&priv->lock);
|
||||
|
||||
ret = register_netdev(dev);
|
||||
if (ret) {
|
||||
pr_err("%s: ERROR %i registering the device\n",
|
||||
@ -1520,8 +1522,6 @@ static int stmmac_probe(struct net_device *dev)
|
||||
dev->name, (dev->features & NETIF_F_SG) ? "on" : "off",
|
||||
(dev->features & NETIF_F_HW_CSUM) ? "on" : "off");
|
||||
|
||||
spin_lock_init(&priv->lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user