iwlagn: avoid hangs when restarting device
authorJohannes Berg <johannes.berg@intel.com>
Tue, 19 Apr 2011 14:38:23 +0000 (07:38 -0700)
committerWey-Yi Guy <wey-yi.w.guy@intel.com>
Sat, 30 Apr 2011 15:39:12 +0000 (08:39 -0700)
commit9d39e5bad76a8830a8fa0c03cadc1e36ce2ec2ef
tree1bb63011eea553fdf20ef7e6bfcc52f3d5bd19fc
parentff776cecec92fe7cac4a9ce1919576ad6e737e08
iwlagn: avoid hangs when restarting device

If a device error happens while the uCode is
being loaded or initialised, we will attempt
to restart the device (which will likely fail
again, but that's not the issue here). During
this new restart, we turn off the device, but
as the uCode failed to initialise it already
is turned off. As a consequence, grabbing NIC
access will fail and cause excessive messages
and hangs.

To fix this issue, introduce a new status bit
and only attempt to reprogram the device when
it isn't already disabled.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
drivers/net/wireless/iwlwifi/iwl-agn-lib.c
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-core.h