diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2017-05-24 21:03:56 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2017-05-24 21:03:56 +0200 |
commit | 58912f68c2489bcee787599837447e0d64dfd61a (patch) | |
tree | dda50aadde35fe152da1a8d50769987ace0f1496 /backend/pixma_common.c | |
parent | cfd27ef2ad8b005fd47ab41ef29b71d9e3d48201 (diff) |
New upstream version 1.0.27upstream/1.0.27
Diffstat (limited to 'backend/pixma_common.c')
-rw-r--r-- | backend/pixma_common.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/backend/pixma_common.c b/backend/pixma_common.c index 9d41f7a..2882453 100644 --- a/backend/pixma_common.c +++ b/backend/pixma_common.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de> + Copyright (C) 2011-2016 Rolf Bensch <rolf at bensch hyphen online dot de> Copyright (C) 2007-2008 Nicolas Martin, <nicols-guest at alioth dot debian dot org> Copyright (C) 2006-2007 Wittawat Yamwong <wittawat@web.de> @@ -57,6 +57,8 @@ #include "pixma_common.h" #include "pixma_io.h" +#include "../include/sane/sanei_usb.h" + #ifdef __GNUC__ # define UNUSED(v) (void) v @@ -649,15 +651,21 @@ pixma_cmd_transaction (pixma_t * s, const void *cmd, unsigned cmdlen, immediatly answer with PIXMA_STATUS_BUSY. Is 8 seconds timeout enough? This affects ALL commands that use - pixma_cmd_transaction(). */ - tmo = 8; + pixma_cmd_transaction(). Default value set in pixma_open(). */ + tmo = s->rec_tmo; do { error = pixma_read (s->io, data, expected_len); if (error == PIXMA_ETIMEDOUT) { PDBG (pixma_dbg (2, "No response yet. Timed out in %d sec.\n", tmo)); - pixma_sleep (1000000); /* 1s timeout */ + +#ifndef HAVE_SANEI_USB_SET_TIMEOUT + /* 1s timeout + Only needed, if sanei_usb_set_timeout() isn't available. + pixma_read() has an internal timeout of 1 sec. */ + pixma_sleep (1000000); +#endif } } while (error == PIXMA_ETIMEDOUT && --tmo != 0); @@ -761,6 +769,7 @@ pixma_open (unsigned devnr, pixma_t ** handle) first_pixma = s; s->cfg = cfg; + s->rec_tmo = 8; /* set receive timeout to 8 seconds */ error = pixma_connect (devnr, &s->io); if (error < 0) { @@ -839,6 +848,7 @@ pixma_scan (pixma_t * s, pixma_scan_param_t * sp) sp->xdpi, sp->ydpi, sp->x, sp->y, sp->w, sp->h); pixma_dbg (3, " gamma_table=%p source=%d\n", sp->gamma_table, sp->source); pixma_dbg (3, " threshold=%d threshold_curve=%d\n", sp->threshold, sp->threshold_curve); + pixma_dbg (3, " adf-wait=%d\n", sp->adf_wait); pixma_dbg (3, " ADF page count: %d\n", sp->adf_pageid); #endif |