.skb = skb,
                        .info = IEEE80211_SKB_CB(skb),
                };
+               struct ieee80211_rate_status rs = {};
                struct mt76_tx_cb *cb = mt76_tx_skb_cb(skb);
                struct mt76_wcid *wcid;
 
                wcid = rcu_dereference(dev->wcid[cb->wcid]);
                if (wcid) {
                        status.sta = wcid_to_sta(wcid);
-                       status.rates = NULL;
-                       status.n_rates = 0;
+                       if (status.sta && (wcid->rate.flags || wcid->rate.legacy)) {
+                               rs.rate_idx = wcid->rate;
+                               status.rates = &rs;
+                               status.n_rates = 1;
+                       } else {
+                               status.n_rates = 0;
+                       }
                }
 
                hw = mt76_tx_status_get_hw(dev, skb);