1
0
Fork 0

rt2x00: Remove CTS/RTS check in tx()

mac80211 doesn't send RTS or CTS-to-self frames through
the tx() callback functions so we don't need to check it.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
hifive-unleashed-5.1
Ivo van Doorn 2008-06-03 20:29:57 +02:00 committed by John W. Linville
parent 475433be3d
commit 772a249d33
1 changed files with 5 additions and 7 deletions

View File

@ -135,18 +135,16 @@ int rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
} }
/* /*
* If CTS/RTS is required. and this frame is not CTS or RTS, * If CTS/RTS is required. create and queue that frame first.
* create and queue that frame first. But make sure we have * Make sure we have at least enough entries available to send
* at least enough entries available to send this CTS/RTS * this CTS/RTS frame as well as the data frame.
* frame as well as the data frame.
* Note that when the driver has set the set_rts_threshold() * Note that when the driver has set the set_rts_threshold()
* callback function it doesn't need software generation of * callback function it doesn't need software generation of
* neither RTS or CTS-to-self frames and handles everything * either RTS or CTS-to-self frame and handles everything
* inside the hardware. * inside the hardware.
*/ */
frame_control = le16_to_cpu(ieee80211hdr->frame_control); frame_control = le16_to_cpu(ieee80211hdr->frame_control);
if (!is_rts_frame(frame_control) && !is_cts_frame(frame_control) && if ((tx_info->flags & (IEEE80211_TX_CTL_USE_RTS_CTS |
(tx_info->flags & (IEEE80211_TX_CTL_USE_RTS_CTS |
IEEE80211_TX_CTL_USE_CTS_PROTECT)) && IEEE80211_TX_CTL_USE_CTS_PROTECT)) &&
!rt2x00dev->ops->hw->set_rts_threshold) { !rt2x00dev->ops->hw->set_rts_threshold) {
if (rt2x00queue_available(queue) <= 1) { if (rt2x00queue_available(queue) <= 1) {