από lamprosbalos » 24 Ιουν 2008, 15:20
--- ../../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;
μεγαλο μπλεξιμο μου φαινεται.θα βρεθει η ακρη!που θα παει?