From: Stanislaw Gruszka Date: Tue, 8 Feb 2011 08:31:58 +0000 (+0100) Subject: iwlwifi: fix ack health for WiFi/BT combo devices X-Git-Tag: v3.0~349^2~16^2~578^2~217 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=67acad5fe5df591e8f629050667912b0db2c72e7;p=platform%2Fkernel%2Flinux-amlogic.git 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 Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 50be23b..a3af656 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);