|
@@ -66,7 +66,6 @@ static int rt2x00mac_tx_rts_cts(struct rt2x00_dev *rt2x00dev,
|
|
rts_info = IEEE80211_SKB_CB(skb);
|
|
rts_info = IEEE80211_SKB_CB(skb);
|
|
rts_info->control.rates[0].flags &= ~IEEE80211_TX_RC_USE_RTS_CTS;
|
|
rts_info->control.rates[0].flags &= ~IEEE80211_TX_RC_USE_RTS_CTS;
|
|
rts_info->control.rates[0].flags &= ~IEEE80211_TX_RC_USE_CTS_PROTECT;
|
|
rts_info->control.rates[0].flags &= ~IEEE80211_TX_RC_USE_CTS_PROTECT;
|
|
- rts_info->flags &= ~IEEE80211_TX_CTL_REQ_TX_STATUS;
|
|
|
|
|
|
|
|
if (tx_info->control.rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT)
|
|
if (tx_info->control.rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT)
|
|
rts_info->flags |= IEEE80211_TX_CTL_NO_ACK;
|
|
rts_info->flags |= IEEE80211_TX_CTL_NO_ACK;
|
|
@@ -91,7 +90,7 @@ static int rt2x00mac_tx_rts_cts(struct rt2x00_dev *rt2x00dev,
|
|
frag_skb->data, data_length, tx_info,
|
|
frag_skb->data, data_length, tx_info,
|
|
(struct ieee80211_rts *)(skb->data));
|
|
(struct ieee80211_rts *)(skb->data));
|
|
|
|
|
|
- retval = rt2x00queue_write_tx_frame(queue, skb);
|
|
|
|
|
|
+ retval = rt2x00queue_write_tx_frame(queue, skb, true);
|
|
if (retval) {
|
|
if (retval) {
|
|
dev_kfree_skb_any(skb);
|
|
dev_kfree_skb_any(skb);
|
|
WARNING(rt2x00dev, "Failed to send RTS/CTS frame.\n");
|
|
WARNING(rt2x00dev, "Failed to send RTS/CTS frame.\n");
|
|
@@ -153,7 +152,7 @@ int rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
|
|
goto exit_fail;
|
|
goto exit_fail;
|
|
}
|
|
}
|
|
|
|
|
|
- if (rt2x00queue_write_tx_frame(queue, skb))
|
|
|
|
|
|
+ if (rt2x00queue_write_tx_frame(queue, skb, false))
|
|
goto exit_fail;
|
|
goto exit_fail;
|
|
|
|
|
|
if (rt2x00queue_threshold(queue))
|
|
if (rt2x00queue_threshold(queue))
|