diff --git a/backend/genesys_gl124.c b/backend/genesys_gl124.c index 9e2fb8a3f..4a4b6429e 100644 --- a/backend/genesys_gl124.c +++ b/backend/genesys_gl124.c @@ -2246,7 +2246,7 @@ gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) /* TODO add scan_mode to the API */ scan_mode= dev->settings.scan_mode; dev->settings.scan_mode=SCAN_MODE_GRAY; - gl124_init_scan_regs (dev, + status = gl124_init_scan_regs (dev, local_reg, resolution, resolution, @@ -2260,6 +2260,15 @@ gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) SCAN_FLAG_DISABLE_SHADING | SCAN_FLAG_DISABLE_GAMMA | SCAN_FLAG_IGNORE_LINE_DISTANCE); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "gl124_slow_back_home: failed to set up registers: %s\n", + sane_strstatus (status)); + DBGCOMPLETED; + return status; + } + dev->settings.scan_mode=scan_mode; /* clear scan and feed count */ @@ -2348,7 +2357,7 @@ gl124_feed (Genesys_Device * dev, unsigned int steps) memcpy (local_reg, dev->reg, GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set)); resolution=sanei_genesys_get_lowest_ydpi(dev); - gl124_init_scan_regs (dev, + status = gl124_init_scan_regs (dev, local_reg, resolution, resolution, @@ -2364,6 +2373,14 @@ gl124_feed (Genesys_Device * dev, unsigned int steps) SCAN_FLAG_FEEDING | SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | SCAN_FLAG_IGNORE_LINE_DISTANCE); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "gl124_feed: failed to set up registers: %s\n", + sane_strstatus (status)); + DBGCOMPLETED; + return status; + } /* set exposure to zero */ sanei_genesys_set_triple(local_reg,REG_EXPR,0); diff --git a/backend/genesys_gl843.c b/backend/genesys_gl843.c index 3648d0921..6cddd4fd2 100644 --- a/backend/genesys_gl843.c +++ b/backend/genesys_gl843.c @@ -2591,7 +2591,7 @@ gl843_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) memcpy (local_reg, dev->reg, GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); resolution=sanei_genesys_get_lowest_ydpi(dev); - gl843_init_scan_regs (dev, + status = gl843_init_scan_regs (dev, local_reg, resolution, resolution, @@ -2607,6 +2607,14 @@ gl843_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) SCAN_FLAG_DISABLE_GAMMA | SCAN_FLAG_DISABLE_BUFFER_FULL_MOVE | SCAN_FLAG_IGNORE_LINE_DISTANCE); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "gl843_slow_back_home: failed to set up registers: %s\n", + sane_strstatus (status)); + DBGCOMPLETED; + return status; + } /* clear scan and feed count */ RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT | REG0D_CLRMCNT)); @@ -2879,7 +2887,7 @@ gl843_feed (Genesys_Device * dev, unsigned int steps) memcpy (local_reg, dev->reg, GENESYS_GL843_MAX_REGS * sizeof (Genesys_Register_Set)); resolution=sanei_genesys_get_lowest_ydpi(dev); - gl843_init_scan_regs (dev, + status = gl843_init_scan_regs (dev, local_reg, resolution, resolution, @@ -2895,6 +2903,14 @@ gl843_feed (Genesys_Device * dev, unsigned int steps) SCAN_FLAG_DISABLE_GAMMA | SCAN_FLAG_FEEDING | SCAN_FLAG_IGNORE_LINE_DISTANCE); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "gl843_feed: failed to set up registers: %s\n", + sane_strstatus (status)); + DBGCOMPLETED; + return status; + } /* clear scan and feed count */ RIE (sanei_genesys_write_register (dev, REG0D, REG0D_CLRLNCNT)); diff --git a/backend/genesys_gl846.c b/backend/genesys_gl846.c index 646cdcabc..c810604b7 100644 --- a/backend/genesys_gl846.c +++ b/backend/genesys_gl846.c @@ -1975,7 +1975,7 @@ gl846_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) /* TODO add scan_mode to the API */ scan_mode= dev->settings.scan_mode; dev->settings.scan_mode=SCAN_MODE_LINEART; - gl846_init_scan_regs (dev, + status = gl846_init_scan_regs (dev, local_reg, resolution, resolution, @@ -1989,6 +1989,14 @@ gl846_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) SCAN_FLAG_DISABLE_SHADING | SCAN_FLAG_DISABLE_GAMMA | SCAN_FLAG_IGNORE_LINE_DISTANCE); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "gl846_slow_back_home: failed to set up registers: %s\n", + sane_strstatus (status)); + DBGCOMPLETED; + return status; + } dev->settings.scan_mode=scan_mode; /* clear scan and feed count */ @@ -2255,7 +2263,7 @@ gl846_feed (Genesys_Device * dev, unsigned int steps) memcpy (local_reg, dev->reg, GENESYS_GL846_MAX_REGS * sizeof (Genesys_Register_Set)); resolution=sanei_genesys_get_lowest_ydpi(dev); - gl846_init_scan_regs (dev, + status = gl846_init_scan_regs (dev, local_reg, resolution, resolution, @@ -2270,6 +2278,14 @@ gl846_feed (Genesys_Device * dev, unsigned int steps) SCAN_FLAG_DISABLE_GAMMA | SCAN_FLAG_FEEDING | SCAN_FLAG_IGNORE_LINE_DISTANCE); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "gl846_feed: failed to set up registers: %s\n", + sane_strstatus (status)); + DBGCOMPLETED; + return status; + } /* set exposure to zero */ sanei_genesys_set_triple(local_reg,REG_EXPR,0); @@ -3014,7 +3030,15 @@ gl846_search_strip (Genesys_Device * dev, SANE_Bool forward, SANE_Bool black) DBG (DBG_proc, "gl846_search_strip %s %s\n", black ? "black" : "white", forward ? "forward" : "reverse"); - gl846_set_fe (dev, AFE_SET); + status = gl846_set_fe (dev, AFE_SET); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "gl846_search_strip: gl846_set_fe() failed: %s\n", + sane_strstatus(status)); + return status; + } + status = gl846_stop_action (dev); if (status != SANE_STATUS_GOOD) { diff --git a/backend/genesys_gl847.c b/backend/genesys_gl847.c index 7c6a3c3a6..47171b922 100644 --- a/backend/genesys_gl847.c +++ b/backend/genesys_gl847.c @@ -1995,7 +1995,7 @@ gl847_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) /* TODO add scan_mode to the API */ scan_mode= dev->settings.scan_mode; dev->settings.scan_mode=SCAN_MODE_LINEART; - gl847_init_scan_regs (dev, + status = gl847_init_scan_regs (dev, local_reg, resolution, resolution, @@ -2009,6 +2009,15 @@ gl847_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home) SCAN_FLAG_DISABLE_SHADING | SCAN_FLAG_DISABLE_GAMMA | SCAN_FLAG_IGNORE_LINE_DISTANCE); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "gl847_slow_back_home: failed to set up registers: %s\n", + sane_strstatus (status)); + DBGCOMPLETED; + return status; + } + dev->settings.scan_mode=scan_mode; /* clear scan and feed count */ @@ -2276,7 +2285,7 @@ gl847_feed (Genesys_Device * dev, unsigned int steps) memcpy (local_reg, dev->reg, GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); resolution=sanei_genesys_get_lowest_ydpi(dev); - gl847_init_scan_regs (dev, + status = gl847_init_scan_regs (dev, local_reg, resolution, resolution, @@ -2291,6 +2300,14 @@ gl847_feed (Genesys_Device * dev, unsigned int steps) SCAN_FLAG_DISABLE_GAMMA | SCAN_FLAG_FEEDING | SCAN_FLAG_IGNORE_LINE_DISTANCE); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "gl847_feed: failed to set up registers: %s\n", + sane_strstatus (status)); + DBGCOMPLETED; + return status; + } /* set exposure to zero */ sanei_genesys_set_triple(local_reg,REG_EXPR,0);