Commit 94073919 authored by Johannes Berg's avatar Johannes Berg Committed by Wey-Yi Guy

iwlwifi: replace minimum slot time constant

There are a number of places where the minimum
slot time is hardcoded to 20 TU, add a new
constant for that and use it everywhere.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
parent 9b9190d9
...@@ -308,7 +308,7 @@ static int iwlagn_set_pan_params(struct iwl_priv *priv) ...@@ -308,7 +308,7 @@ static int iwlagn_set_pan_params(struct iwl_priv *priv)
if (priv->_agn.hw_roc_channel) { if (priv->_agn.hw_roc_channel) {
/* both contexts must be used for this to happen */ /* both contexts must be used for this to happen */
slot1 = priv->_agn.hw_roc_duration; slot1 = priv->_agn.hw_roc_duration;
slot0 = 20; slot0 = IWL_MIN_SLOT_TIME;
} else if (ctx_bss->vif && ctx_pan->vif) { } else if (ctx_bss->vif && ctx_pan->vif) {
int bcnint = ctx_pan->vif->bss_conf.beacon_int; int bcnint = ctx_pan->vif->bss_conf.beacon_int;
int dtim = ctx_pan->vif->bss_conf.dtim_period ?: 1; int dtim = ctx_pan->vif->bss_conf.dtim_period ?: 1;
...@@ -334,12 +334,12 @@ static int iwlagn_set_pan_params(struct iwl_priv *priv) ...@@ -334,12 +334,12 @@ static int iwlagn_set_pan_params(struct iwl_priv *priv)
if (test_bit(STATUS_SCAN_HW, &priv->status) || if (test_bit(STATUS_SCAN_HW, &priv->status) ||
(!ctx_bss->vif->bss_conf.idle && (!ctx_bss->vif->bss_conf.idle &&
!ctx_bss->vif->bss_conf.assoc)) { !ctx_bss->vif->bss_conf.assoc)) {
slot0 = dtim * bcnint * 3 - 20; slot0 = dtim * bcnint * 3 - IWL_MIN_SLOT_TIME;
slot1 = 20; slot1 = IWL_MIN_SLOT_TIME;
} else if (!ctx_pan->vif->bss_conf.idle && } else if (!ctx_pan->vif->bss_conf.idle &&
!ctx_pan->vif->bss_conf.assoc) { !ctx_pan->vif->bss_conf.assoc) {
slot1 = bcnint * 3 - 20; slot1 = bcnint * 3 - IWL_MIN_SLOT_TIME;
slot0 = 20; slot0 = IWL_MIN_SLOT_TIME;
} }
} else if (ctx_pan->vif) { } else if (ctx_pan->vif) {
slot0 = 0; slot0 = 0;
...@@ -348,8 +348,8 @@ static int iwlagn_set_pan_params(struct iwl_priv *priv) ...@@ -348,8 +348,8 @@ static int iwlagn_set_pan_params(struct iwl_priv *priv)
slot1 = max_t(int, DEFAULT_BEACON_INTERVAL, slot1); slot1 = max_t(int, DEFAULT_BEACON_INTERVAL, slot1);
if (test_bit(STATUS_SCAN_HW, &priv->status)) { if (test_bit(STATUS_SCAN_HW, &priv->status)) {
slot0 = slot1 * 3 - 20; slot0 = slot1 * 3 - IWL_MIN_SLOT_TIME;
slot1 = 20; slot1 = IWL_MIN_SLOT_TIME;
} }
} }
......
...@@ -3792,7 +3792,7 @@ static int iwl_mac_remain_on_channel(struct ieee80211_hw *hw, ...@@ -3792,7 +3792,7 @@ static int iwl_mac_remain_on_channel(struct ieee80211_hw *hw,
queue_delayed_work(priv->workqueue, &priv->_agn.hw_roc_work, queue_delayed_work(priv->workqueue, &priv->_agn.hw_roc_work,
msecs_to_jiffies(duration + 20)); msecs_to_jiffies(duration + 20));
msleep(20); msleep(IWL_MIN_SLOT_TIME); /* TU is almost ms */
ieee80211_ready_on_channel(priv->hw); ieee80211_ready_on_channel(priv->hw);
out: out:
......
...@@ -4370,6 +4370,11 @@ int iwl_agn_check_rxon_cmd(struct iwl_priv *priv); ...@@ -4370,6 +4370,11 @@ int iwl_agn_check_rxon_cmd(struct iwl_priv *priv);
* REPLY_WIPAN_PARAMS = 0xb2 (Commands and Notification) * REPLY_WIPAN_PARAMS = 0xb2 (Commands and Notification)
*/ */
/*
* Minimum slot time in TU
*/
#define IWL_MIN_SLOT_TIME 20
/** /**
* struct iwl_wipan_slot * struct iwl_wipan_slot
* @width: Time in TU * @width: Time in TU
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment