With high tx flow the same buffer can transmit more than once and get stuck in loop. Reset TCR to zero in device_tx_srv. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+ --- drivers/staging/vt6655/device_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c index c5f8233..9b5d840 100644 --- a/drivers/staging/vt6655/device_main.c +++ b/drivers/staging/vt6655/device_main.c @@ -963,6 +963,9 @@ static int device_tx_srv(struct vnt_private *pDevice, unsigned int uIdx) vnt_int_report_rate(pDevice, pTD->pTDInfo, byTsr0, byTsr1); device_free_tx_buf(pDevice, pTD); + + /* Done with TCR reset to avoid retransmission */ + pTD->m_td1TD1.byTCR = 0; pDevice->iTDUsed[uIdx]--; } } -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html