]> git.karo-electronics.de Git - karo-tx-linux.git/commit
wl1251: fix oops on early interrupt
authorGrazvydas Ignotas <notasas@gmail.com>
Fri, 18 May 2012 00:04:08 +0000 (03:04 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 10 Jun 2012 13:41:42 +0000 (14:41 +0100)
commit1f529670d44fa70caf368eddfdcea3618aed0d19
tree3cff3ef6da67a283ed9bf1b1b7df85cb2b9a96fd
parent8ed31bfda7baf80e74d138767f7920b58a6e4aeb
wl1251: fix oops on early interrupt

commit f380f2c4a12e913356bd49f8790ec1063c4fe9f8 upstream.

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().

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/wireless/wl1251/sdio.c
drivers/net/wireless/wl1251/spi.c