Browse Source

[PATCH] ipw2100: Fix deadlock detected by lockdep

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

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Zhu Yi 19 năm trước cách đây
mục cha
commit
efbd809829
1 tập tin đã thay đổi với 3 bổ sung2 xóa
  1. 3 2
      drivers/net/wireless/ipw2100.c

+ 3 - 2
drivers/net/wireless/ipw2100.c

@@ -6254,13 +6254,14 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
 	 * 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));