]> git.baikalelectronics.ru Git - kernel.git/commit
wl1251: fix oops on early interrupt
authorGrazvydas Ignotas <notasas@gmail.com>
Fri, 18 May 2012 00:04:08 +0000 (03:04 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 25 May 2012 15:16:16 +0000 (11:16 -0400)
commita156f633f85dd9cc8834244d6ddc7811bdf8a9e5
treea2e73c632dd3e892d7997d6c4287e3eee60ca3e9
parent6c3d276f9f60aa5cf3ead5deb113905cfc85e7b3
wl1251: fix oops on early interrupt

This driver disables interrupt just after requesting it and enables it
later, after interface is up. However currently there is a time window
between request_irq() and disable_irq() where if interrupt arrives, the
driver oopses because it's not yet ready to process it. This can be
reproduced by inserting the module, associating and removing the module
multiple times.

Eliminate this race by setting IRQF_NOAUTOEN flag before request_irq().

Cc: stable@vger.kernel.org # v2.6.37+
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ti/wl1251/sdio.c
drivers/net/wireless/ti/wl1251/spi.c