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

Loading
+7 −0
Original line number Diff line number Diff line
@@ -366,6 +366,13 @@ static int read_fifo (struct at91_ep *ep, struct at91_request *req)
	if (is_done)
		done(ep, req, 0);
	else if (ep->is_pingpong) {
		/*
		 * One dummy read to delay the code because of a HW glitch:
		 * CSR returns bad RXCOUNT when read too soon after updating
		 * RX_DATA_BK flags.
		 */
		csr = __raw_readl(creg);

		bufferspace -= count;
		buf += count;
		goto rescan;