diff --git a/backend/pixma_bjnp.c b/backend/pixma_bjnp.c index 7e09666a0..b4927d874 100644 --- a/backend/pixma_bjnp.c +++ b/backend/pixma_bjnp.c @@ -2182,8 +2182,15 @@ sanei_bjnp_deactivate (SANE_Int dn) extern void sanei_bjnp_set_timeout (SANE_Int devno, SANE_Int timeout) { - PDBG (bjnp_dbg (LOG_INFO, "bjnp_set_timeout to %d\n", + if (timeout < BJNP_TIMEOUT_MIN) + { + PDBG (bjnp_dbg (LOG_INFO, "bjnp_set_timeout to %d, but using minimum value %d\n", + timeout, BJNP_TIMEOUT_MIN)); + timeout = BJNP_TIMEOUT_MIN; + } else { + PDBG (bjnp_dbg (LOG_INFO, "bjnp_set_timeout to %d\n", timeout)); + } device[devno].bjnp_timeout = timeout; } diff --git a/backend/pixma_bjnp_private.h b/backend/pixma_bjnp_private.h index a8b4a2f94..fe78acc48 100644 --- a/backend/pixma_bjnp_private.h +++ b/backend/pixma_bjnp_private.h @@ -80,6 +80,7 @@ /* timers */ #define BJNP_BROADCAST_INTERVAL 10 /* ms between broadcasts */ #define BJNP_BC_RESPONSE_TIMEOUT 500 /* waiting time for broadc. responses */ +#define BJNP_TIMEOUT_MIN 500 /* minimum tiemout value for network operations */ #define BJNP_USLEEP_MS 1000 /* sleep for 1 msec */ /* retries */