summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2011-08-16 10:38:40 +0800
committerJason Chen <b02280@freescale.com>2011-08-16 10:40:40 +0800
commit52660b68b23fe00b98e4ef461f90b6cfff1459a1 (patch)
treee63885c5d2a573bf848dbb3672f1e5d567148a48
parent1df25f603dbceb304f9440944e5fd59e6ddbf33d (diff)
ENGR00154880 ipuv3 dev: wait event could be signal return
wait_event_interruptible_timeout function could be signal return, so we need add ERESTARTSYS return value to let libc retry sys call. Signed-off-by: Jason Chen <b02280@freescale.com>
-rw-r--r--drivers/mxc/ipu3/ipu_device.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mxc/ipu3/ipu_device.c b/drivers/mxc/ipu3/ipu_device.c
index 649d8668beed..63f646744f47 100644
--- a/drivers/mxc/ipu3/ipu_device.c
+++ b/drivers/mxc/ipu3/ipu_device.c
@@ -324,8 +324,10 @@ static int mxc_ipu_ioctl(struct inode *inode, struct file *file,
if ((file->f_flags & O_NONBLOCK) &&
(irq_info[info.irq].irq_pending == 0))
return -EAGAIN;
- wait_event_interruptible_timeout(irq_info[info.irq].waitq,
+ r = wait_event_interruptible_timeout(irq_info[info.irq].waitq,
(irq_info[info.irq].irq_pending != 0), 2 * HZ);
+ if (r == -ERESTARTSYS)
+ return r;
r = get_events(&info);
}
ret = -1;