Skip to contentSkip to conversation

ipw2100: Fix deadlock detected by lockdep

PATCH In review Zhu Yi 1 participant 1 message Aug 21, 2006

Subsystems (3)
lore
Share & tools
lore

Zhu Yi

author
#0 lore raw

PATCH 12/14 ipw2100: Fix deadlock detected by lockdep

Fix by removing dependency between priv->action_sem and rtnl semaphore.

---

 drivers/net/wireless/ipw2100.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

fcf4f163e01e6c5128e578fdbe1e778bc16fa1c0

drivers/net/wireless/ipw2100.c +3 -2
index e955db4..5d5dab6 100644
@@ -6254,13 +6254,14 @@ static int ipw2100_pci_init_one(struct p
 	 * member to call a function that then just turns and calls ipw2100_up.
 	 * net_dev->init is called after name allocation but before the
 	 * notifier chain is called */
-	mutex_lock(&priv->action_mutex);
 	err = register_netdev(dev);
 	if (err) {
 		printk(KERN_WARNING DRV_NAME
 		       "Error calling register_netdev.\n");
-		goto fail_unlock;
+		goto fail;
 	}
+
+	mutex_lock(&priv->action_mutex);
 	registered = 1;
 
 	IPW_DEBUG_INFO("%s: Bound to %s\n", dev->name, pci_name(pci_dev));
Signature · 1 line
1.2.6