sane-backends/avision.c.patch

49 lines
1.4 KiB
Diff
Raw Normal View History

--- 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);