diff mbox series

[U-Boot,1/1] video, da8xx-fb: fix time out in wait_for_event()

Message ID 20180318134806.21326-1-xypron.glpk@gmx.de
State Accepted
Commit c16b342d90a1d0b388314889560aa3bd50823df9
Delegated to: Anatolij Gustschin
Headers show
Series [U-Boot,1/1] video, da8xx-fb: fix time out in wait_for_event() | expand

Commit Message

Heinrich Schuchardt March 18, 2018, 1:48 p.m. UTC
If an event does not occur the current coding stays in an endless loop.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 drivers/video/da8xx-fb.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Anatolij Gustschin March 19, 2018, 9:18 a.m. UTC | #1
On Sun, 18 Mar 2018 14:48:06 +0100
Heinrich Schuchardt xypron.glpk@gmx.de wrote:

> If an event does not occur the current coding stays in an endless loop.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
>  drivers/video/da8xx-fb.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)

Applied to u-boot-video/master, thanks!

--
Anatolij
diff mbox series

Patch

diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
index 6ec4f89e34..26db73b138 100644
--- a/drivers/video/da8xx-fb.c
+++ b/drivers/video/da8xx-fb.c
@@ -853,9 +853,10 @@  static u32 wait_for_event(u32 event)
 	do {
 		ret = lcdc_irq_handler();
 		udelay(1000);
-	} while (!(ret & event));
+		--timeout;
+	} while (!(ret & event) && timeout);
 
-	if (timeout <= 0) {
+	if (!(ret & event)) {
 		printf("%s: event %d not hit\n", __func__, event);
 		return -1;
 	}