From: Zhu Yi Date: Mon, 21 Aug 2006 03:38:52 +0000 (+0800) Subject: [PATCH] ipw2100: Fix deadlock detected by lockdep X-Git-Tag: v2.6.19-rc1~1263^2~60^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=efbd809829001c94e48b96337ea05a16d5ecee85;p=thirdparty%2Fkernel%2Flinux.git [PATCH] ipw2100: Fix deadlock detected by lockdep Fix by removing dependency between priv->action_sem and rtnl semaphore. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c index e955db435b30b..5d5dab6a209c2 100644 --- a/drivers/net/wireless/ipw2100.c +++ b/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));