linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH] rtl8187: do not report ACKs if USB Tx status is non-zero
@ 2008-10-07 19:18 John W. Linville
  2008-10-08 18:42 ` John W. Linville
  0 siblings, 1 reply; 5+ messages in thread
From: John W. Linville @ 2008-10-07 19:18 UTC (permalink / raw)
  To: linux-wireless; +Cc: John W. Linville

The vendor-supplied driver treats a USB Tx failure as an un-ACKed frame.
I don't see why we shouldn't do the same thing -- hopefully this makes
rate-scaling algorithms behave sanely with the rtl8187 driver.

Thanks to Felix Fietkau <nbd@openwrt.org> for suggesting this as an
option.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
This is currently untested -- anyone with rtl8187 bored enough to try
it? :-)

 drivers/net/wireless/rtl8187_dev.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/rtl8187_dev.c b/drivers/net/wireless/rtl8187_dev.c
index ca5deb6..ae21191 100644
--- a/drivers/net/wireless/rtl8187_dev.c
+++ b/drivers/net/wireless/rtl8187_dev.c
@@ -164,7 +164,12 @@ static void rtl8187_tx_cb(struct urb *urb)
 	skb_pull(skb, priv->is_rtl8187b ? sizeof(struct rtl8187b_tx_hdr) :
 					  sizeof(struct rtl8187_tx_hdr));
 	memset(&info->status, 0, sizeof(info->status));
-	info->flags |= IEEE80211_TX_STAT_ACK;
+	if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) {
+		if (!urb->status)
+			info->flags |= IEEE80211_TX_STAT_ACK;
+		else /* assume ACK not received */
+			info->status.excessive_retries = 1;
+	}
 	ieee80211_tx_status_irqsafe(hw, skb);
 }
 
-- 
1.5.4.3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-10-08 22:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-07 19:18 [RFC PATCH] rtl8187: do not report ACKs if USB Tx status is non-zero John W. Linville
2008-10-08 18:42 ` John W. Linville
2008-10-08 19:38   ` Stefanik Gábor
2008-10-08 20:02     ` John W. Linville
2008-10-08 22:48   ` Herton Ronaldo Krzesinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).