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

Commit 286e5b97 authored by Paul Fox's avatar Paul Fox Committed by Ingo Molnar
Browse files

x86, olpc: Don't retry EC commands forever



Avoids a potential infinite loop.

It was observed once, during an EC hacking/debugging
session - not in regular operation.

Signed-off-by: default avatarDaniel Drake <dsd@laptop.org>
Cc: dilinger@queued.net
Cc: <stable@kernel.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 3e3c4860
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -114,6 +114,7 @@ int olpc_ec_cmd(unsigned char cmd, unsigned char *inbuf, size_t inlen,
	unsigned long flags;
	int ret = -EIO;
	int i;
	int restarts = 0;

	spin_lock_irqsave(&ec_lock, flags);

@@ -169,7 +170,9 @@ int olpc_ec_cmd(unsigned char cmd, unsigned char *inbuf, size_t inlen,
			if (wait_on_obf(0x6c, 1)) {
				printk(KERN_ERR "olpc-ec:  timeout waiting for"
						" EC to provide data!\n");
				if (restarts++ < 10)
					goto restart;
				goto err;
			}
			outbuf[i] = inb(0x68);
			pr_devel("olpc-ec:  received 0x%x\n", outbuf[i]);