]> git.karo-electronics.de Git - karo-tx-linux.git/commit
iwlagn: enable only rfkill interrupt when device is down
authorStanislaw Gruszka <sgruszka@redhat.com>
Thu, 23 Dec 2010 11:38:21 +0000 (12:38 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 21 Mar 2011 19:44:43 +0000 (12:44 -0700)
commitaf01e9c0cdb7e164a6eb22c2ce8c7ed9acd8f664
tree21b27dc1975a4a36039152f6f2b4ad16a4fe62bf
parent244b7f557447aafbe3bae0d3c25665fc5826b3b4
iwlagn: enable only rfkill interrupt when device is down

commit 554d1d027b19265c4aa3f718b3126d2b86e09a08 upstream.

Since commit 6cd0b1cb872b3bf9fc5de4536404206ab74bafdd "iwlagn: fix
hw-rfkill while the interface is down", we enable interrupts when
device is not ready to receive them. However hardware, when it is in
some inconsistent state, can generate other than rfkill interrupts
and crash the system. I can reproduce crash with "kernel BUG at
drivers/net/wireless/iwlwifi/iwl-agn.c:1010!" message, when forcing
firmware restarts.

To fix only enable rfkill interrupt when down device and after probe.
I checked patch on laptop with 5100 device, rfkill change is still
passed to user space when device is down.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl-helpers.h