]> Pileus Git - ~andy/linux/blobdiff - net/mac80211/rc80211_minstrel.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[~andy/linux] / net / mac80211 / rc80211_minstrel.c
index d9233ec5061048b773d35e60bbeeee669efd1376..0a11515341bab47b4721805e98852f807672d4ac 100644 (file)
@@ -80,8 +80,7 @@ use_low_rate(struct sk_buff *skb)
        fc = le16_to_cpu(hdr->frame_control);
 
        return ((info->flags & IEEE80211_TX_CTL_NO_ACK) ||
-               (fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_DATA ||
-               is_multicast_ether_addr(hdr->addr1));
+               (fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_DATA);
 }
 
 
@@ -245,7 +244,10 @@ minstrel_get_rate(void *priv, struct ieee80211_sta *sta,
 
        if (!sta || !mi || use_low_rate(skb)) {
                ar[0].idx = rate_lowest_index(sband, sta);
-               ar[0].count = mp->max_retry;
+               if (info->flags & IEEE80211_TX_CTL_NO_ACK)
+                       ar[0].count = 1;
+               else
+                       ar[0].count = mp->max_retry;
                return;
        }