--- ../../ov51x-jpeg-1.5.3/ov51x-jpeg-core.c	2007-11-01 17:19:37.000000000 +0100
+++ ov51x-jpeg-core.c	2007-11-18 19:56:30.000000000 +0100
@@ -208,6 +208,7 @@
 static int framedrop		= -1;
 static int framerate		= -1;
 static int dumpjpeg		=  0;
+static int forceblock = 0;
 static int fastset;
 static int force_palette;
 static int backlight;
@@ -308,6 +309,8 @@
 MODULE_PARM_DESC(framerate, "Force a specific framerate for OV519 (values: 5,10,15)");
 module_param(dumpjpeg,int,S_IRUGO);
 MODULE_PARM_DESC(dumpjpeg, "Dump JPEG uncompressed frames for OV519");
+module_param(forceblock,int,S_IRUGO);
+MODULE_PARM_DESC(forceblock, "Do a blocking Read regardless of the applications request");
 
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(OV51x_JPEG_DESC);
@@ -5717,6 +5720,10 @@
 	int err, i;
 
 	PDEBUG(4, "opening");
+	if (forceblock){
+		PDEBUG(3, "All reads will be blocking.");
+	}
+	
 
 	down(&ov->lock);
 
@@ -6378,7 +6385,10 @@
 	struct usb_ov511 *ov = video_get_drvdata(vdev);
 	int i, rc = 0, frmx = -1;
 	struct ov511_frame *frame;
-
+	if (forceblock > 0){
+		PDEBUG(4, "Force blocking read (noblock=0)");
+		noblock = 0;
+	}
 	if (down_interruptible(&ov->lock))
 		return -EINTR;
 

