diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-03-07 12:52:16 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-03-08 13:59:47 -0500 |
commit | e755f882b7e72c48da820acc24196532977cfd07 (patch) | |
tree | 43fbd47dce75f6c08908f2b4c14e4c72ab565390 /drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h | |
parent | ea886a6014024d027fa207b8765e46d746cd2a18 (diff) |
iwlwifi: redesign PASSIVE_NO_RX workaround
The PASSIVE_NO_RX workaround currently crosses
through the op_mode and transport layers, which
is a bit odd. This also isn't necessary, if the
transport simply reports when queues are full
(or no longer full) the op_mode can keep track
of this state, and report to mac80211 only what
*it* thinks is appropriate. What is appropriate
can then be based on whether queues should be
stopped to wait for RX or not.
This significantly simplifies the transport API,
it no longer needs to expose anything to stop a
queue, nor to wake "any" queue, this can all be
handled in the upper layer completely.
Also simplify the handling to not be dependent
on the context, that makes little sense as the
queues are shared and both contexts have to be
on the same channel anyway.
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>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h index d13b8d1f08fa..4f73a6d06509 100644 --- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h +++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h | |||
@@ -451,18 +451,6 @@ static inline void iwl_stop_queue(struct iwl_trans *trans, | |||
451 | } | 451 | } |
452 | } | 452 | } |
453 | 453 | ||
454 | #ifdef ieee80211_stop_queue | ||
455 | #undef ieee80211_stop_queue | ||
456 | #endif | ||
457 | |||
458 | #define ieee80211_stop_queue DO_NOT_USE_ieee80211_stop_queue | ||
459 | |||
460 | #ifdef ieee80211_wake_queue | ||
461 | #undef ieee80211_wake_queue | ||
462 | #endif | ||
463 | |||
464 | #define ieee80211_wake_queue DO_NOT_USE_ieee80211_wake_queue | ||
465 | |||
466 | static inline void iwl_txq_ctx_activate(struct iwl_trans_pcie *trans_pcie, | 454 | static inline void iwl_txq_ctx_activate(struct iwl_trans_pcie *trans_pcie, |
467 | int txq_id) | 455 | int txq_id) |
468 | { | 456 | { |