File avision.c.patch of Package sane-backends

--- backend/avision.c.orig	2012-07-01 04:00:44.000000000 +0200
+++ backend/avision.c	2013-09-15 13:24:31.150933718 +0200
@@ -1273,6 +1273,12 @@
 static SANE_Bool force_a4 = SANE_FALSE;
 static SANE_Bool force_a3 = SANE_FALSE;
 
+/* <2013-09-15_PNu>
+ * HP Scanjet 8200 w/o ADF fails during the ADF reset loop in get_accessories_info()
+ * Brute force option enforce-no-adf
+ */
+static SANE_Bool enforce_no_adf = SANE_FALSE;
+
 /* hardware resolutions to interpolate from */
 static const int  hw_res_list_c5[] =
   {
@@ -3208,6 +3214,17 @@
 
   dev->inquiry_adf |= result [0];
 
+  /* <2013-09-15_PNu>
+   * HP Scanjet 8200 w/o ADF fails during the following ADF reset loop
+   */
+  if (enforce_no_adf) {
+    if (result[0] == 0) {
+      result[2] = 0; /* to prevent fail of following loop */
+      DBG (3, "get_accessories_info: no adf enforced!\n");
+    }
+  }
+  /* </2013-09-15_PNu> */
+
   if (dev->hw->feature_type2 & AV_ADF_FLIPPING_DUPLEX)
   {
     if (result[0] == 1)
@@ -7637,6 +7654,14 @@
 		    linenumber);
 		static_calib_list [2] = SANE_TRUE; 
 	      }
+	      else if (strcmp (word, "enforce-no-adf") == 0) {
+		/* <2013-09-15_PNu>
+		 * Brute force option enforce-no-adf
+		 */
+		DBG (3, "sane_reload_devices: config file line %d: enforce-no-adf\n",
+		    linenumber);
+		enforce_no_adf = SANE_TRUE; 
+	      }
 	      else
 		DBG (1, "sane_reload_devices: config file line %d: options unknown!\n",
 		    linenumber);
openSUSE Build Service is sponsored by