Hi all,

The following patch fixes a synchronisation problem in the VGA driver.
The interrupt is used to deliver the buffer to the user land process.
A delay of only 136 lines from the frame start is too short so that the buffer is read when it is not completely written by the driver.

Michele

--- ccdc_dm355.c.old    2009-09-10 23:51:28.000000000 +0200
+++ ccdc_dm355.c    2009-09-10 23:05:55.000000000 +0200
@@ -1551,15 +1551,14 @@
     /*
      *      C O N F I G U R E   I N T E R R U P T   R E G I S T E R S
      */
-     if (params->frm_fmt == CCDC_FRMFMT_PROGRESSIVE) {
-         val = params->win.height / 2;
-         regw(136, VDINT0);
-         regw(149, VDINT0);
-         regw(0, VDINT1);
-     } else {
-         regw(0, VDINT0);
-         regw(0, VDINT1);
-     }
+    if (params->frm_fmt == CCDC_FRMFMT_PROGRESSIVE) {
+        val = params->win.height -1 ;
+        regw(val, VDINT0);
+        regw(val, VDINT1);
+    } else {
+        regw(0, VDINT0);
+        regw(0, VDINT1);
+    }
 
     dev_dbg(dev, "\nend of ccdc_config_raw...");
 }