return ret;
 }
 
+
+static int ath9k_htc_get_stats(struct ieee80211_hw *hw,
+                              struct ieee80211_low_level_stats *stats)
+{
+       struct ath9k_htc_priv *priv = hw->priv;
+       struct ath_hw *ah = priv->ah;
+       struct ath9k_mib_stats *mib_stats = &ah->ah_mibStats;
+
+       stats->dot11ACKFailureCount = mib_stats->ackrcv_bad;
+       stats->dot11RTSFailureCount = mib_stats->rts_bad;
+       stats->dot11FCSErrorCount = mib_stats->fcs_bad;
+       stats->dot11RTSSuccessCount = mib_stats->rts_good;
+
+       return 0;
+}
+
 struct ieee80211_ops ath9k_htc_ops = {
        .tx                 = ath9k_htc_tx,
        .start              = ath9k_htc_start,
        .rfkill_poll        = ath9k_htc_rfkill_poll_state,
        .set_coverage_class = ath9k_htc_set_coverage_class,
        .set_bitrate_mask   = ath9k_htc_set_bitrate_mask,
+       .get_stats          = ath9k_htc_get_stats,
 };