summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ti/wlcore/io.c
diff options
context:
space:
mode:
authorIdo Yariv <ido@wizery.com>2012-05-20 22:10:11 (GMT)
committerLuciano Coelho <coelho@ti.com>2012-06-22 07:46:34 (GMT)
commitb666bb7f2fe2bdc0309b0d58afb48eae85d92221 (patch)
tree83620f84c1e4c9dccc0734e52f8bb8b952371c63 /drivers/net/wireless/ti/wlcore/io.c
parent645865fc377c9ac73df590abf8e6af65824390a3 (diff)
downloadlinux-b666bb7f2fe2bdc0309b0d58afb48eae85d92221.tar.xz
wlcore: Disable interrupts while recovering
In case a recovery is initiated, the FW can no longer be trusted, and the driver should not handle any new FW events. Disable the interrupt handler when a recovery is scheduled and balance it back in the op_stop callback. Signed-off-by: Ido Yariv <ido@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/ti/wlcore/io.c')
-rw-r--r--drivers/net/wireless/ti/wlcore/io.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/ti/wlcore/io.c b/drivers/net/wireless/ti/wlcore/io.c
index 7cd0081..62d6573 100644
--- a/drivers/net/wireless/ti/wlcore/io.c
+++ b/drivers/net/wireless/ti/wlcore/io.c
@@ -48,6 +48,12 @@ void wlcore_disable_interrupts(struct wl1271 *wl)
}
EXPORT_SYMBOL_GPL(wlcore_disable_interrupts);
+void wlcore_disable_interrupts_nosync(struct wl1271 *wl)
+{
+ disable_irq_nosync(wl->irq);
+}
+EXPORT_SYMBOL_GPL(wlcore_disable_interrupts_nosync);
+
void wlcore_enable_interrupts(struct wl1271 *wl)
{
enable_irq(wl->irq);