From: Arjan van de Ven Date: Mon, 3 Jul 2006 07:24:07 +0000 (-0700) Subject: [PATCH] bcm43xx: netlink deadlock fix X-Git-Tag: v2.6.18-rc1~133 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6abd219c6eab92172038e4719e02905acb7b68d4;p=pandora-kernel.git [PATCH] bcm43xx: netlink deadlock fix reported by Jure Repinc: > > http://bugzilla.kernel.org/show_bug.cgi?id=6773 > > checked out dmesg output and found the message > > > > ====================================================== > > [ BUG: hard-safe -> hard-unsafe lock order detected! ] > > ------------------------------------------------------ > > > > starting at line 660 of the dmesg.txt that I will attach. The patch below should fix the deadlock, albeit I suspect it's not the "right" fix; the right fix may well be to move the rx processing in bcm43xx to softirq context. [it's debatable, ipw2200 hit this exact same bug; at some point it's better to bite the bullet and move this to the common layer as my patch below does] Make the nl_table_lock irq-safe; it's taken for read in various netlink functions, including functions that several wireless drivers (ipw2200, bcm43xx) want to call from hardirq context. The deadlock was found by the lock validator. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Herbert Xu Cc: Michael Buesch Cc: "John W. Linville" Cc: Jeff Garzik Acked-by: "David S. Miller" Cc: jamal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed