Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8e96161 authored by Vlad Lungu's avatar Vlad Lungu Committed by David S. Miller
Browse files

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: default avatarVlad Lungu <vlad.lungu@windriver.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6dcdd1b3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
}