summaryrefslogtreecommitdiff
path: root/net-wireless/compat-wireless/files/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch
diff options
context:
space:
mode:
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.patch30
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);