From 73697516bc36c95aa8ba75d1c7a4d372975d5865 Mon Sep 17 00:00:00 2001 From: Ivo van Doorn Date: Mon, 21 Apr 2008 18:59:48 +0200 Subject: [PATCH] --- yaml --- r: 102479 b: refs/heads/master c: 2d9ccf842905063f774c28f329ac5ab3a84d3571 h: refs/heads/master i: 102477: a0c3a0c66c1651a884ba51d4c396821c3e8a36ad 102475: 4401cef7a23836dc8ae5ccc663030d9d7eeaea78 102471: 95e0eea94de3bc69032956ec3ab90e46fe90bb35 102463: 12abf70984374f3e9365e4bf53ff7406c056c91d v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/rt2x00/rt2x00mac.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index b368e8282592..f0414074d974 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e40ac414c0130358f9eb068f4993a37f013621be +refs/heads/master: 2d9ccf842905063f774c28f329ac5ab3a84d3571 diff --git a/trunk/drivers/net/wireless/rt2x00/rt2x00mac.c b/trunk/drivers/net/wireless/rt2x00/rt2x00mac.c index c206b5092070..e46d406637f7 100644 --- a/trunk/drivers/net/wireless/rt2x00/rt2x00mac.c +++ b/trunk/drivers/net/wireless/rt2x00/rt2x00mac.c @@ -118,11 +118,16 @@ int rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb, * create and queue that frame first. But make sure we have * at least enough entries available to send this CTS/RTS * frame as well as the data frame. + * Note that when the driver has set the set_rts_threshold() + * callback function it doesn't need software generation of + * neither RTS or CTS-to-self frames and handles everything + * inside the hardware. */ frame_control = le16_to_cpu(ieee80211hdr->frame_control); if (!is_rts_frame(frame_control) && !is_cts_frame(frame_control) && (control->flags & (IEEE80211_TXCTL_USE_RTS_CTS | - IEEE80211_TXCTL_USE_CTS_PROTECT))) { + IEEE80211_TXCTL_USE_CTS_PROTECT)) && + !rt2x00dev->ops->hw->set_rts_threshold) { if (rt2x00queue_available(queue) <= 1) { ieee80211_stop_queue(rt2x00dev->hw, control->queue); return NETDEV_TX_BUSY;