From 58912f68c2489bcee787599837447e0d64dfd61a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 24 May 2017 21:03:56 +0200 Subject: New upstream version 1.0.27 --- backend/pixma_common.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'backend/pixma_common.c') 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 + Copyright (C) 2011-2016 Rolf Bensch Copyright (C) 2007-2008 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -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 -- cgit v1.2.3 From 1687222e1b9e74c89cafbb5910e72d8ec7bfd40f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 31 Jul 2019 16:59:49 +0200 Subject: New upstream version 1.0.28 --- backend/pixma_common.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'backend/pixma_common.c') diff --git a/backend/pixma_common.c b/backend/pixma_common.c index 2882453..82c4fde 100644 --- a/backend/pixma_common.c +++ b/backend/pixma_common.c @@ -1,6 +1,6 @@ /* SANE - Scanner Access Now Easy. - Copyright (C) 2011-2016 Rolf Bensch + Copyright (C) 2011-2019 Rolf Bensch Copyright (C) 2007-2008 Nicolas Martin, Copyright (C) 2006-2007 Wittawat Yamwong @@ -933,7 +933,7 @@ pixma_read_image (pixma_t * s, void *buf, unsigned len) if (result == 0) { /* end of image? */ s->ops->finish_scan (s); - if (s->cur_image_size != s->param->image_size) + if ((s->cur_image_size != s->param->image_size) && !s->param->mode_jpeg) { pixma_dbg (1, "WARNING:image size mismatches\n"); pixma_dbg (1, @@ -947,7 +947,7 @@ pixma_read_image (pixma_t * s, void *buf, unsigned len) "BUG:received data not multiple of line_size\n"); } } - if (s->cur_image_size < s->param->image_size) + if ((s->cur_image_size < s->param->image_size) && !s->param->mode_jpeg) { s->underrun = 1; ib.wptr = fill_pixels (s, ib.wptr, ib.wend, 0xff); -- cgit v1.2.3