Browse Source

V4L/DVB (6307): V4L: w9968cf, remove bad usage of ERESTARTSYS

w9968cf, remove bad usage of ERESTARTSYS

down_read_trylock can't be interrupted and so ERESTARTSYS would reach
userspace, which is not permitted. Change it to EAGAIN

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Acked-by: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Jiri Slaby 17 years ago
parent
commit
3abff557d5
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/media/video/w9968cf.c

+ 1 - 1
drivers/media/video/w9968cf.c

@@ -2679,7 +2679,7 @@ static int w9968cf_open(struct inode* inode, struct file* filp)
 
 
 	/* This the only safe way to prevent race conditions with disconnect */
 	/* This the only safe way to prevent race conditions with disconnect */
 	if (!down_read_trylock(&w9968cf_disconnect))
 	if (!down_read_trylock(&w9968cf_disconnect))
-		return -ERESTARTSYS;
+		return -EAGAIN;
 
 
 	cam = (struct w9968cf_device*)video_get_drvdata(video_devdata(filp));
 	cam = (struct w9968cf_device*)video_get_drvdata(video_devdata(filp));