diff options
Diffstat (limited to 'net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch')
-rw-r--r-- | net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch b/net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch new file mode 100644 index 00000000..5bcef9eb --- /dev/null +++ b/net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch @@ -0,0 +1,30 @@ +diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c +index 9212cea..08d04a3 100644 +--- a/drivers/net/wireless/rtl818x/rtl8187_dev.c ++++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c +@@ -258,7 +258,11 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb) + hdr->flags = cpu_to_le32(flags); + hdr->len = 0; + hdr->rts_duration = rts_dur; +- hdr->retry = cpu_to_le32((info->control.rates[0].count - 1) << 8); ++ if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) ++ hdr->retry = ++ cpu_to_le32((info->control.rates[0].count - 1) << 8); ++ else ++ hdr->retry = 0; + buf = hdr; + + ep = 2; +@@ -276,7 +280,11 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb) + memset(hdr, 0, sizeof(*hdr)); + hdr->flags = cpu_to_le32(flags); + hdr->rts_duration = rts_dur; +- hdr->retry = cpu_to_le32((info->control.rates[0].count - 1) << 8); ++ if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) ++ hdr->retry = ++ cpu_to_le32((info->control.rates[0].count - 1) << 8); ++ else ++ hdr->retry = 0; + hdr->tx_duration = + ieee80211_generic_frame_duration(dev, priv->vif, + skb->len, txrate); |