iwl3945: report killswitch changes even if the interface is down
authorHelmut Schaa <helmut.schaa@googlemail.com>
Thu, 15 Jan 2009 08:38:44 +0000 (09:38 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 29 Jan 2009 21:00:28 +0000 (16:00 -0500)
commit2663516d8fb896430bf42dce41b3e2f141d63bd5
treed53989bd9ca5b2b722f5a804420c7ec0175b959b
parentc95741deef31d14c3a3d58397f9a3d2126d452e5
iwl3945: report killswitch changes even if the interface is down

Currently iwl3945 is not able to report hw-killswitch events while the
interface is down. This has implications on user space tools (like
NetworkManager) relying on rfkill notifications to bring the interface
up once the wireless gets enabled through a hw killswitch.

Thus, enable the device already in iwl3945_pci_probe instead of iwl3945_up
and poll the CSR_GP_CNTRL register to update the killswitch state every
two seconds. The polling is only needed on 3945 hardware as this adapter
does not use interrupts to signal rfkill changes to the driver (in case no
firmware is loaded). The firmware loading is still done in iwl3945_up.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-dev.h
drivers/net/wireless/iwlwifi/iwl3945-base.c