Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce4c45e0 authored by Alexandre Becholey's avatar Alexandre Becholey Committed by John W. Linville
Browse files

rt73usb: fix for master mode



Report status unknown as if there were successfully transmitted.
This will avoid hostapd to disassociate because it doesn't understand what a status unknown is.

Signed-off-by: default avatarAlexandre Becholey <alexandre.becholey@epfl.ch>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7e0aae47
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -260,7 +260,8 @@ void rt2x00lib_txdone(struct queue_entry *entry,
	 * Update TX statistics.
	 * Update TX statistics.
	 */
	 */
	rt2x00dev->link.qual.tx_success +=
	rt2x00dev->link.qual.tx_success +=
	    test_bit(TXDONE_SUCCESS, &txdesc->flags);
	    test_bit(TXDONE_SUCCESS, &txdesc->flags) ||
	    test_bit(TXDONE_UNKNOWN, &txdesc->flags);
	rt2x00dev->link.qual.tx_failed +=
	rt2x00dev->link.qual.tx_failed +=
	    test_bit(TXDONE_FAILURE, &txdesc->flags);
	    test_bit(TXDONE_FAILURE, &txdesc->flags);


@@ -278,14 +279,16 @@ void rt2x00lib_txdone(struct queue_entry *entry,
	tx_info->status.rates[1].idx = -1; /* terminate */
	tx_info->status.rates[1].idx = -1; /* terminate */


	if (!(tx_info->flags & IEEE80211_TX_CTL_NO_ACK)) {
	if (!(tx_info->flags & IEEE80211_TX_CTL_NO_ACK)) {
		if (test_bit(TXDONE_SUCCESS, &txdesc->flags))
		if (test_bit(TXDONE_SUCCESS, &txdesc->flags) ||
				test_bit(TXDONE_UNKNOWN, &txdesc->flags))
			tx_info->flags |= IEEE80211_TX_STAT_ACK;
			tx_info->flags |= IEEE80211_TX_STAT_ACK;
		else if (test_bit(TXDONE_FAILURE, &txdesc->flags))
		else if (test_bit(TXDONE_FAILURE, &txdesc->flags))
			rt2x00dev->low_level_stats.dot11ACKFailureCount++;
			rt2x00dev->low_level_stats.dot11ACKFailureCount++;
	}
	}


	if (rate_flags & IEEE80211_TX_RC_USE_RTS_CTS) {
	if (rate_flags & IEEE80211_TX_RC_USE_RTS_CTS) {
		if (test_bit(TXDONE_SUCCESS, &txdesc->flags))
		if (test_bit(TXDONE_SUCCESS, &txdesc->flags) ||
				test_bit(TXDONE_UNKNOWN, &txdesc->flags))
			rt2x00dev->low_level_stats.dot11RTSSuccessCount++;
			rt2x00dev->low_level_stats.dot11RTSSuccessCount++;
		else if (test_bit(TXDONE_FAILURE, &txdesc->flags))
		else if (test_bit(TXDONE_FAILURE, &txdesc->flags))
			rt2x00dev->low_level_stats.dot11RTSFailureCount++;
			rt2x00dev->low_level_stats.dot11RTSFailureCount++;