diff options
author | Stanislaw Gruszka <sgruszka@redhat.com> | 2011-02-08 03:31:58 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-02-09 16:09:50 -0500 |
commit | 67acad5fe5df591e8f629050667912b0db2c72e7 (patch) | |
tree | 8a56cf337d2369c146b19a61cc8b04b330a6a0ee /drivers/net/wireless/iwlwifi | |
parent | f266526da4d78b7af639e98777d453888b039c00 (diff) |
iwlwifi: fix ack health for WiFi/BT combo devices
Combo devices have TX statistics on different place, because
struct statistics_rx_bt and struct statistics_rx have different
size. User proper values on combo devices instead of random data.
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-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')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 50be23b5fea2..a3af656aab3d 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -1419,8 +1419,13 @@ bool iwl_good_ack_health(struct iwl_priv *priv, struct iwl_rx_packet *pkt) | |||
1419 | if (priv->_agn.agg_tids_count) | 1419 | if (priv->_agn.agg_tids_count) |
1420 | return true; | 1420 | return true; |
1421 | 1421 | ||
1422 | cur = &pkt->u.stats.tx; | 1422 | if (iwl_bt_statistics(priv)) { |
1423 | old = &priv->_agn.statistics.tx; | 1423 | cur = &pkt->u.stats_bt.tx; |
1424 | old = &priv->_agn.statistics_bt.tx; | ||
1425 | } else { | ||
1426 | cur = &pkt->u.stats.tx; | ||
1427 | old = &priv->_agn.statistics.tx; | ||
1428 | } | ||
1424 | 1429 | ||
1425 | actual_delta = le32_to_cpu(cur->actual_ack_cnt) - | 1430 | actual_delta = le32_to_cpu(cur->actual_ack_cnt) - |
1426 | le32_to_cpu(old->actual_ack_cnt); | 1431 | le32_to_cpu(old->actual_ack_cnt); |