linux/drivers/net/wireless/iwlwifi
Emmanuel Grumbach 1ba42da479 iwlwifi: we can wake SW queues even when draining HW queues
In the very first implementation of HT, the driver was responsible
for the queueing: stopping and waking the queues while the HW queues
where being drained. In this implementation, we had to deal with the
case where we were draining the AGG queue because we wanted to tear
down the BA agreement.
In the normal flow (when we don't drain any HW queue), when packets
are reclaimed, we wake the SW queue in case the SW queue was stopped
which can happen when the HW queues are too full.
While draining a HW queue, we must make sure that we don't wake the
SW queue, since the whole point of the draining is to empty totally
the HW queue and not only get below a certain threshold.
This is why there is condition in the reclaim function:

if (NOT EMPTYING DELBA)
	wake the SW queue is applicable

Since then, a lot has changed and mac80211 is now able to buffer
packets that are being sent to a packet list that will be spliced
after the driver has reported it has drained its HW queues.
Hence, there is no need for the for aforementioned if, and we can
safely wake up the queue even if we are draining HW queues.
Removing this if, also allows us to remove the wake_queue in
check_empty that was there in order to deal with a corner case
created by the if.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
2011-12-16 07:22:38 -08:00
..
iwl-1000.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-2000.c iwlwifi: Add official names for new devices 2011-12-16 07:22:23 -08:00
iwl-5000.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-6000.c iwlwifi: Add official names for new devices 2011-12-16 07:22:23 -08:00
iwl-agn-calib.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-agn-calib.h iwlwifi: move calib_results list from iwl_priv to iwl_trans 2011-12-08 15:55:24 -08:00
iwl-agn-hw.h iwlagn: remove 6000 hw header 2011-10-14 14:48:13 -04:00
iwl-agn-lib.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-agn-rs.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-agn-rs.h iwlagn: use IWL_MAX_TID_COUNT instead of TID_MAX_LOAD_COUNT 2011-12-08 15:55:52 -08:00
iwl-agn-rx.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-agn-rxon.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-agn-sta.c iwlwifi: minor cleanup 2011-12-08 15:54:07 -08:00
iwl-agn-tt.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-agn-tt.h iwlagn: clean up of transport layer 2011-09-14 13:56:37 -04:00
iwl-agn-tx.c iwlwifi: don't count the tfds in HW queue any more 2011-12-16 07:22:33 -08:00
iwl-agn.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-agn.h iwlwifi: move eeprom pointer from iwl_priv to iwl_shared 2011-12-08 15:55:08 -08:00
iwl-bus.h iwlagn: remove drvdata support from bus layer 2011-09-19 16:10:10 -04:00
iwl-cfg.h iwlwifi: remove un-supported SKUs 2011-11-11 12:32:53 -05:00
iwl-commands.h iwlagn: fix TID use bug 2011-12-08 15:55:35 -08:00
iwl-core.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-core.h iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-csr.h iwlwifi: HW rev for 105 and 135 series 2011-11-08 15:53:54 -05:00
iwl-debug.h iwlagn: make debug levels more readable 2011-12-06 16:07:05 -05:00
iwl-debugfs.c iwlwifi: don't count the tfds in HW queue any more 2011-12-16 07:22:33 -08:00
iwl-dev.h iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-devtrace.c iwlagn: remove unnecessary type for tracing operations 2011-11-08 15:53:54 -05:00
iwl-devtrace.h iwlagn: remove unnecessary type for tracing operations 2011-11-08 15:53:54 -05:00
iwl-eeprom.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-eeprom.h iwlwifi: move eeprom pointer from iwl_priv to iwl_shared 2011-12-08 15:55:08 -08:00
iwl-fh.h iwlagn: add missing includes 2011-08-29 15:30:28 -04:00
iwl-io.c iwlwifi: remove redundancy 2011-11-21 16:20:48 -05:00
iwl-io.h iwlagn: all function iwl-io.c receive iwl_bus 2011-08-29 15:30:29 -04:00
iwl-led.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-led.h iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-mac80211.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-pci.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux 2011-11-22 14:05:46 -05:00
iwl-power.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-power.h iwlagn: move PCI power related functions to the PCI layer 2011-06-18 08:17:29 -07:00
iwl-prph.h iwlagn: cmd_queue moves to iwl_shared 2011-08-29 15:25:31 -04:00
iwl-scan.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-shared.h iwlwifi: don't count the tfds in HW queue any more 2011-12-16 07:22:33 -08:00
iwl-testmode.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-testmode.h iwlwifi: add device ID information support by testmode 2011-12-08 15:54:40 -08:00
iwl-trans-pcie-int.h iwlwifi: improve the prints in the reclaim path 2011-11-21 16:20:47 -05:00
iwl-trans-pcie-rx.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
iwl-trans-pcie-tx.c iwlwifi: don't count the tfds in HW queue any more 2011-12-16 07:22:33 -08:00
iwl-trans-pcie.c iwlwifi: we can wake SW queues even when draining HW queues 2011-12-16 07:22:38 -08:00
iwl-trans.c iwlagn: generically provide iwl_trans_send_cmd_pdu 2011-09-19 16:08:07 -04:00
iwl-trans.h iwlwifi: move calib_results list from iwl_priv to iwl_trans 2011-12-08 15:55:24 -08:00
iwl-ucode.c iwlwifi: move iwl_cfg from iwl_priv to iwl_shared 2011-12-16 07:22:16 -08:00
Kconfig iwlwifi: P2P is not enabled by default 2011-12-08 15:54:46 -08:00
Makefile iwlwifi: rename CONFIG_IWLWIFI_DEVICE_SVTOOL to CONFIG_IWLWIFI_DEVICE_TESTMODE 2011-12-08 15:54:30 -08:00