summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorStanislaw Gruszka2011-02-08 09:31:58 +0100
committerJohn W. Linville2011-02-09 22:09:50 +0100
commit67acad5fe5df591e8f629050667912b0db2c72e7 (patch)
tree8a56cf337d2369c146b19a61cc8b04b330a6a0ee /drivers/net
parentiwlwifi: cleanup iwl_good_ack_health (diff)
downloadkernel-qcow2-linux-67acad5fe5df591e8f629050667912b0db2c72e7.tar.gz
kernel-qcow2-linux-67acad5fe5df591e8f629050667912b0db2c72e7.tar.xz
kernel-qcow2-linux-67acad5fe5df591e8f629050667912b0db2c72e7.zip
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')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c9
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)
if (priv->_agn.agg_tids_count)
return true;
- cur = &pkt->u.stats.tx;
- old = &priv->_agn.statistics.tx;
+ if (iwl_bt_statistics(priv)) {
+ cur = &pkt->u.stats_bt.tx;
+ old = &priv->_agn.statistics_bt.tx;
+ } else {
+ cur = &pkt->u.stats.tx;
+ old = &priv->_agn.statistics.tx;
+ }
actual_delta = le32_to_cpu(cur->actual_ack_cnt) -
le32_to_cpu(old->actual_ack_cnt);