[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADKZ3FKDw78ac9JPXJuw0s7Mqg1RrVfonbjXZ6zHmtwF2i5HoQ@mail.gmail.com>
Date: Tue, 31 Jul 2012 22:28:14 +0400
From: Denis Yefremov <yefremov.denis@...il.com>
To: Luciano Coelho <coelho@...com>
Cc: "John W. Linville" <linville@...driver.com>,
Eliad Peller <eliad@...ery.com>,
Arik Nemtsov <arik@...ery.com>, Eyal Shapira <eyal@...ery.com>,
linux-wireless@...r.kernel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, ldv-project@...ras.ru
Subject: wlcore: might_sleep operation in interrupt handler
Interrupt handler wlcore_irq in wlcore/main.c file
invokes mutex_lock that is might sleep operation.
Found by Linux Driver Verification project (linuxtesting.org)
within my participation in the GSoC 2012 program.
drivers/net/wireless/ti/wlcore/main.c
static irqreturn_t wlcore_irq(int irq, void *cookie)
{
int ret;
unsigned long flags;
struct wl1271 *wl = cookie;
/* TX might be handled here, avoid redundant work */
set_bit(WL1271_FLAG_TX_PENDING, &wl->flags);
cancel_work_sync(&wl->tx_work);
mutex_lock(&wl->mutex);
...
}
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);
...
}
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists