|
@@ -1535,6 +1535,13 @@ mwl8k_txq_reclaim(struct ieee80211_hw *hw, int index, int limit, int force)
|
|
|
|
|
|
info = IEEE80211_SKB_CB(skb);
|
|
|
ieee80211_tx_info_clear_status(info);
|
|
|
+
|
|
|
+ /* Rate control is happening in the firmware.
|
|
|
+ * Ensure no tx rate is being reported.
|
|
|
+ */
|
|
|
+ info->status.rates[0].idx = -1;
|
|
|
+ info->status.rates[0].count = 1;
|
|
|
+
|
|
|
if (MWL8K_TXD_SUCCESS(status))
|
|
|
info->flags |= IEEE80211_TX_STAT_ACK;
|
|
|
|
|
@@ -4764,7 +4771,7 @@ static int mwl8k_firmware_load_success(struct mwl8k_priv *priv)
|
|
|
hw->queues = MWL8K_TX_QUEUES;
|
|
|
|
|
|
/* Set rssi values to dBm */
|
|
|
- hw->flags |= IEEE80211_HW_SIGNAL_DBM;
|
|
|
+ hw->flags |= IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_HAS_RATE_CONTROL;
|
|
|
hw->vif_data_size = sizeof(struct mwl8k_vif);
|
|
|
hw->sta_data_size = sizeof(struct mwl8k_sta);
|
|
|
|