linux/drivers/net/wireless/iwlwifi
Johannes Berg 5ef4acd58a iwlwifi: fix hardware queue programming
Newer devices have 20 (5000 series) or 30 (6000 series)
hardware queues, rather than the 16 that 4965 had. This
was added to the driver a long time ago, but improperly:
the queue registers for the higher queues aren't just
continuations of the registers for the first 16 queues,
they are in other places. Therefore, the hardware would
lock up when trying to activate queue 16 or above and
the device would have to be restarted.

Thanks goes to Emmanuel who identified this and told me
how the queue programming should be done.

Note that we don't use queues 20 and higher today and
doing so needs more work than this.

Cc: stable@vger.kernel.org
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>
2012-04-24 14:14:55 -04:00
..
iwl-1000.c iwlwifi: fix the delta for remove max_txq_num patch 2012-03-09 14:25:14 -05:00
iwl-2000.c iwlwifi: fix the delta for remove max_txq_num patch 2012-03-09 14:25:14 -05:00
iwl-5000.c iwlwifi: fix the delta for remove max_txq_num patch 2012-03-09 14:25:14 -05:00
iwl-6000.c iwlwifi: fix the delta for remove max_txq_num patch 2012-03-09 14:25:14 -05:00
iwl-agn-calib.c iwlwifi: remove unused arguments from iwlagn_gain_computation 2012-03-08 13:59:45 -05:00
iwl-agn-calib.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-agn-hw.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-agn-lib.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-03-16 13:45:25 -04:00
iwl-agn-rs.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
iwl-agn-rs.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-agn-rx.c net: add a truesize parameter to skb_add_rx_frag() 2012-03-25 13:29:58 -04:00
iwl-agn-rxon.c mac80211: rename bss_conf timestamp to last_tsf 2012-03-13 14:54:20 -04:00
iwl-agn-sta.c iwlwifi: don't delete AP station directly 2012-03-08 14:02:29 -05:00
iwl-agn-tt.c iwlwifi: more status bit factoring 2012-03-08 13:59:55 -05:00
iwl-agn-tt.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-agn-tx.c iwlwifi: fix the delta for remove max_txq_num patch 2012-03-09 14:25:14 -05:00
iwl-agn.c iwlwifi: do not nulify ctx->vif on reset 2012-04-23 14:56:12 -04:00
iwl-agn.h iwlwifi: don't delete AP station directly 2012-03-08 14:02:29 -05:00
iwl-cfg.h iwlwifi: make config const 2012-03-06 15:16:11 -05:00
iwl-commands.h iwlwifi: clean up iwl-commands.h 2012-03-07 13:56:36 -05:00
iwl-core.c iwlwifi: avoid some operations if no uCode loaded 2012-03-12 14:22:02 -04:00
iwl-core.h iwlwifi: move BT/HT params to shared 2012-03-08 13:59:48 -05:00
iwl-csr.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-debug.c iwlwifi: remove per-device debug level 2012-03-06 15:16:10 -05:00
iwl-debug.h iwlwifi: move status check functions out of shared 2012-03-07 13:51:51 -05:00
iwl-debugfs.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
iwl-dev.h iwlwifi: explicitly track whether INIT uCode was run 2012-03-12 14:22:04 -04:00
iwl-devtrace.c iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-devtrace.h iwlwifi: make tracing use device as identifier 2012-03-07 13:51:52 -05:00
iwl-drv.c iwlwifi: Add bool mvm_ucode to iwl_fw 2012-03-12 14:22:10 -04:00
iwl-drv.h iwlwifi: make config const 2012-03-06 15:16:11 -05:00
iwl-eeprom.c iwlwifi: make EEPROM enhanced TX power a bool 2012-03-08 13:59:49 -05:00
iwl-eeprom.h iwlwifi: make EEPROM enhanced TX power a bool 2012-03-08 13:59:49 -05:00
iwl-fh.h iwlwifi: fix hardware queue programming 2012-04-24 14:14:55 -04:00
iwl-fw-file.h iwlwifi: Add TLVs and fields for 16.0 uCode 2012-03-12 14:22:08 -04:00
iwl-fw.h iwlwifi: Add bool mvm_ucode to iwl_fw 2012-03-12 14:22:10 -04:00
iwl-io.c iwlwifi: cleanup/fix memory barriers 2012-03-08 13:59:50 -05:00
iwl-io.h iwlwifi: always check if got h/w access before write 2012-03-08 13:59:50 -05:00
iwl-led.c iwlwifi: more status bit factoring 2012-03-08 13:59:55 -05:00
iwl-led.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-mac80211.c iwlwifi: do not nulify ctx->vif on reset 2012-04-23 14:56:12 -04:00
iwl-notif-wait.c iwlwifi: abstract out notification wait support 2012-03-07 13:56:32 -05:00
iwl-notif-wait.h iwlwifi: move packet to transport 2012-03-07 13:56:34 -05:00
iwl-op-mode.h iwlwifi: virtualize nic_config 2012-03-07 13:56:34 -05:00
iwl-pci.c iwlwifi: reduce IDI code ifdef 2012-03-06 15:16:11 -05:00
iwl-power.c iwlwifi: more status bit factoring 2012-03-08 13:59:55 -05:00
iwl-power.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-prph.h iwlwifi: fix hardware queue programming 2012-04-24 14:14:55 -04:00
iwl-scan.c iwlwifi: more status bit factoring 2012-03-08 13:59:55 -05:00
iwl-shared.h iwlwifi: Add TLVs and fields for 16.0 uCode 2012-03-12 14:22:08 -04:00
iwl-testmode.c iwlwifi: change struct iwl_fw 2012-03-12 14:22:09 -04:00
iwl-testmode.h iwlwifi: add testmode command for rx forwarding 2012-03-08 13:59:52 -05:00
iwl-trans-pcie-int.h iwlwifi: abstract out missing SEQ_RX_FRAME workaround 2012-03-12 14:21:56 -04:00
iwl-trans-pcie-rx.c iwlwifi: move wait_command_queue from shared to trans 2012-03-12 14:22:00 -04:00
iwl-trans-pcie-tx.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-03-16 13:45:25 -04:00
iwl-trans-pcie.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
iwl-trans.h iwlwifi: move wait_command_queue from shared to trans 2012-03-12 14:22:00 -04:00
iwl-ucode.c iwlwifi: change struct iwl_fw 2012-03-12 14:22:09 -04:00
Kconfig iwlwifi: add option to test MFP 2012-03-08 13:59:53 -05:00
Makefile iwlwifi: abstract out notification wait support 2012-03-07 13:56:32 -05:00