From: Andrea Merello Date: Mon, 30 Jun 2014 16:18:55 +0000 (+0200) Subject: rtl8180: fix incorrect TX retry. X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=81129fce7e4fc60fce616c53510699b093d87e26;p=openwrt%2Fstaging%2Fblogic.git rtl8180: fix incorrect TX retry. HW is programmed with wrong retry count value for TX: Mac80211 passes to driver the number of times the TX should be attempted. The HW, instead, wants the number of time the TX should be retried if it fails the first time (assuming we have to TX it at least one time). This patch correct this. Signed-off-by: Andrea Merello Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/rtl818x/rtl8180/dev.c b/drivers/net/wireless/rtl818x/rtl8180/dev.c index 8a64bc116bfd..4f4fcf8b2013 100644 --- a/drivers/net/wireless/rtl818x/rtl8180/dev.c +++ b/drivers/net/wireless/rtl818x/rtl8180/dev.c @@ -542,7 +542,7 @@ static void rtl8180_tx(struct ieee80211_hw *dev, entry->flags2 = info->control.rates[1].idx >= 0 ? ieee80211_get_alt_retry_rate(dev, info, 0)->bitrate << 4 : 0; - entry->retry_limit = info->control.rates[0].count; + entry->retry_limit = info->control.rates[0].count - 1; /* We must be sure that tx_flags is written last because the HW * looks at it to check if the rest of data is valid or not