Return-path: Received: from he.sipsolutions.net ([78.46.109.217]:40588 "EHLO sipsolutions.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756088Ab2GaUPH (ORCPT ); Tue, 31 Jul 2012 16:15:07 -0400 Message-ID: <1343765698.4474.10.camel@jlt3.sipsolutions.net> (sfid-20120731_221621_256700_13E416AE) Subject: Re: wlcore: might_sleep operation in interrupt handler From: Johannes Berg To: Denis Yefremov Cc: Luciano Coelho , "John W. Linville" , Eliad Peller , Arik Nemtsov , Eyal Shapira , linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, ldv-project@ispras.ru Date: Tue, 31 Jul 2012 22:14:58 +0200 In-Reply-To: (sfid-20120731_202836_974056_A601A727) References: (sfid-20120731_202836_974056_A601A727) Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org List-ID: On Tue, 2012-07-31 at 22:28 +0400, Denis Yefremov wrote: > Interrupt handler wlcore_irq in wlcore/main.c file > invokes mutex_lock that is might sleep operation. > int __devinit wlcore_probe(struct wl1271 *wl, struct platform_device *pdev) > { > ... > ret = request_threaded_irq(wl->irq, wl12xx_hardirq, wlcore_irq, > irqflags, > pdev->name, wl); Yes, umm, why do you think they're using a *threaded* IRQ? :-) johannes