iwlwifi: report PS filtered status
When a frame is sent to a sleeping station, the microcode reports TX_STATUS_FAIL_DEST_PS as its status -- we need to translate that to the flag that mac80211 expects. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
这个提交包含在:
@@ -993,8 +993,7 @@ static int iwl5000_tx_status_reply_tx(struct iwl_priv *priv,
|
||||
info = IEEE80211_SKB_CB(priv->txq[txq_id].txb[idx].skb[0]);
|
||||
info->status.rates[0].count = tx_resp->failure_frame + 1;
|
||||
info->flags &= ~IEEE80211_TX_CTL_AMPDU;
|
||||
info->flags |= iwl_is_tx_success(status) ?
|
||||
IEEE80211_TX_STAT_ACK : 0;
|
||||
info->flags |= iwl_tx_status_to_mac80211(status);
|
||||
iwl_hwrate_to_tx_control(priv, rate_n_flags, info);
|
||||
|
||||
/* FIXME: code repetition end */
|
||||
@@ -1139,8 +1138,7 @@ static void iwl5000_rx_reply_tx(struct iwl_priv *priv,
|
||||
BUG_ON(txq_id != txq->swq_id);
|
||||
|
||||
info->status.rates[0].count = tx_resp->failure_frame + 1;
|
||||
info->flags |= iwl_is_tx_success(status) ?
|
||||
IEEE80211_TX_STAT_ACK : 0;
|
||||
info->flags |= iwl_tx_status_to_mac80211(status);
|
||||
iwl_hwrate_to_tx_control(priv,
|
||||
le32_to_cpu(tx_resp->rate_n_flags),
|
||||
info);
|
||||
|
在新工单中引用
屏蔽一个用户