Răsfoiți Sursa

rt2800usb: mark tx failure on timeout

If we do not get TX status in reasonable time, we most likely fail to
send frame hence mark it as so.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Stanislaw Gruszka 8 ani în urmă
părinte
comite
1701221696
1 a modificat fișierele cu 2 adăugiri și 3 ștergeri
  1. 2 3
      drivers/net/wireless/ralink/rt2x00/rt2800usb.c

+ 2 - 3
drivers/net/wireless/ralink/rt2x00/rt2800usb.c

@@ -602,10 +602,9 @@ static void rt2800usb_txdone_nostatus(struct rt2x00_dev *rt2x00dev)
 			    !test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))
 			    !test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))
 				break;
 				break;
 
 
-			if (test_bit(ENTRY_DATA_IO_FAILED, &entry->flags))
+			if (test_bit(ENTRY_DATA_IO_FAILED, &entry->flags) ||
+			    rt2800usb_entry_txstatus_timeout(entry))
 				rt2x00lib_txdone_noinfo(entry, TXDONE_FAILURE);
 				rt2x00lib_txdone_noinfo(entry, TXDONE_FAILURE);
-			else if (rt2800usb_entry_txstatus_timeout(entry))
-				rt2x00lib_txdone_noinfo(entry, TXDONE_UNKNOWN);
 			else
 			else
 				break;
 				break;
 		}
 		}