linux/drivers/net/wireless/iwlwifi
Johannes Berg e649437fd6 iwlagn: centralize and fix ucode restart
The ucode restart has to take into account a number
of things, like clearing the HCMD_ACTIVE and other
status bits, and waking up the wait_command_queue.
Currently, however, there are a number of places
that neither do that, nor actually set the FW error
bit that leads to proper restart handling, which
means that in those cases things will probably just
hang completely.

To clean this up, make all ucode restart go through
a single function, except for the cases where it's
called during firmware loading.

Also fix a bug in wimax coexist restart avoidance,
it needs to first clear the status bits (and it has
to clear the HCMD_ACTIVE one as well) and then wake
up anything waiting on wait_command_queue.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-04-07 15:51:37 -04:00
..
iwl-1000.c iwlagn: remove bootstrap code 2011-04-07 15:51:36 -04:00
iwl-2000.c iwlagn: remove bootstrap code 2011-04-07 15:51:36 -04:00
iwl-5000-hw.h
iwl-5000.c iwlagn: remove bootstrap code 2011-04-07 15:51:36 -04:00
iwl-6000-hw.h
iwl-6000.c iwlagn: remove bootstrap code 2011-04-07 15:51:36 -04:00
iwl-agn-calib.c
iwl-agn-calib.h
iwl-agn-debugfs.c
iwl-agn-debugfs.h
iwl-agn-eeprom.c
iwl-agn-hcmd.c
iwl-agn-hw.h
iwl-agn-ict.c
iwl-agn-led.c
iwl-agn-led.h
iwl-agn-lib.c
iwl-agn-rs.c iwlagn: remove pointless return variables 2011-04-07 15:51:35 -04:00
iwl-agn-rs.h iwlagn: clean up some 3945/4965 remnants 2011-04-07 15:49:41 -04:00
iwl-agn-rxon.c
iwl-agn-sta.c iwlagn: clean up some 3945/4965 remnants 2011-04-07 15:49:41 -04:00
iwl-agn-tt.c
iwl-agn-tt.h
iwl-agn-tx.c
iwl-agn-ucode.c iwlagn: verify specific ucode 2011-04-07 15:51:36 -04:00
iwl-agn.c iwlagn: remove bootstrap code 2011-04-07 15:51:36 -04:00
iwl-agn.h iwlagn: verify specific ucode 2011-04-07 15:51:36 -04:00
iwl-commands.h iwlagn: clean up some 3945/4965 remnants 2011-04-07 15:49:41 -04:00
iwl-core.c iwlagn: centralize and fix ucode restart 2011-04-07 15:51:37 -04:00
iwl-core.h iwlagn: centralize and fix ucode restart 2011-04-07 15:51:37 -04:00
iwl-csr.h
iwl-debug.h
iwl-debugfs.c iwlagn: remove pointless return variables 2011-04-07 15:51:35 -04:00
iwl-dev.h iwlagn: remove bootstrap code 2011-04-07 15:51:36 -04:00
iwl-devtrace.c
iwl-devtrace.h
iwl-eeprom.c
iwl-eeprom.h iwlagn: clean up some 3945/4965 remnants 2011-04-07 15:49:41 -04:00
iwl-fh.h
iwl-hcmd.c iwlagn: clean up some 3945/4965 remnants 2011-04-07 15:49:41 -04:00
iwl-helpers.h
iwl-io.h
iwl-led.c
iwl-led.h
iwl-power.c
iwl-power.h
iwl-prph.h iwlagn: remove more 3945/4965 related defines 2011-04-07 15:51:35 -04:00
iwl-rx.c
iwl-scan.c
iwl-spectrum.h
iwl-sta.c iwlagn: remove unused variable 2011-04-07 15:49:41 -04:00
iwl-sta.h
iwl-tx.c iwlagn: centralize and fix ucode restart 2011-04-07 15:51:37 -04:00
Kconfig
Makefile