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

Commit 698cd335 authored by Albert Herranz's avatar Albert Herranz Committed by Benjamin Herrenschmidt
Browse files

powerpc/gamecube/wii: Fix off-by-one error in ugecon/usbgecko_udbg



The retry logic in ug_putc() is broken.

If the TX fifo is not ready and the counter runs out it will have a
value of -1 and no transfer should be attempted. Also, a counter
with a value of 0 means that the TX fifo got ready in the last try
and the transfer should be attempted.

Reported-by: default avatar"Juha Leppanen" <juha_motorsportcom@luukku.com>
Signed-off-by: default avatar"Juha Leppanen" <juha_motorsportcom@luukku.com>
Signed-off-by: default avatarAlbert Herranz <albert_herranz@yahoo.es>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 38e1313f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ static void ug_putc(char ch)

	while (!ug_is_txfifo_ready() && count--)
		barrier();
	if (count)
	if (count >= 0)
		ug_raw_putc(ch);
}

+1 −1
Original line number Diff line number Diff line
@@ -120,7 +120,7 @@ static void ug_putc(char ch)

	while (!ug_is_txfifo_ready() && count--)
		barrier();
	if (count)
	if (count >= 0)
		ug_raw_putc(ch);
}