kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Return errors as exceptions from *wait_for_home()
rodzic
2a9764b4fd
commit
d29f6862c6
|
@ -3697,13 +3697,7 @@ genesys_start_scan (Genesys_Device * dev, SANE_Bool lamp_off)
|
|||
* we check we are not still parking before starting a new scan */
|
||||
if (dev->parking == SANE_TRUE)
|
||||
{
|
||||
status = sanei_genesys_wait_for_home (dev);
|
||||
if (status != SANE_STATUS_GOOD)
|
||||
{
|
||||
DBG(DBG_error, "%s: failed to wait for head to park: %s\n", __func__,
|
||||
sane_strstatus(status));
|
||||
return status;
|
||||
}
|
||||
sanei_genesys_wait_for_home(dev);
|
||||
}
|
||||
|
||||
/* disable power saving*/
|
||||
|
@ -6336,12 +6330,7 @@ sane_close_impl(SANE_Handle handle)
|
|||
* to reach home position */
|
||||
if(s->dev->parking==SANE_TRUE)
|
||||
{
|
||||
status = sanei_genesys_wait_for_home (s->dev);
|
||||
if (status != SANE_STATUS_GOOD)
|
||||
{
|
||||
DBG(DBG_error, "%s: failed to wait for head to park: %s\n", __func__,
|
||||
sane_strstatus(status));
|
||||
}
|
||||
sanei_genesys_wait_for_home(s->dev);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1285,11 +1285,9 @@ sanei_genesys_asic_init(Genesys_Device* dev, int /*max_regs*/)
|
|||
/**
|
||||
* Wait for the scanning head to park
|
||||
*/
|
||||
SANE_Status
|
||||
sanei_genesys_wait_for_home (Genesys_Device * dev)
|
||||
void sanei_genesys_wait_for_home(Genesys_Device* dev)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
SANE_Status status = SANE_STATUS_GOOD;
|
||||
uint8_t val;
|
||||
int loop;
|
||||
int max=300;
|
||||
|
@ -1308,7 +1306,7 @@ sanei_genesys_wait_for_home (Genesys_Device * dev)
|
|||
{
|
||||
DBG (DBG_info,
|
||||
"%s: already at home\n", __func__);
|
||||
return status;
|
||||
return;
|
||||
}
|
||||
|
||||
/* loop for 30 s max, polling home sensor */
|
||||
|
@ -1327,11 +1325,9 @@ sanei_genesys_wait_for_home (Genesys_Device * dev)
|
|||
|
||||
/* if after the timeout, head is still not parked, error out */
|
||||
if (loop >= max && !(val & HOMESNR)) {
|
||||
DBG (DBG_error, "%s: failed to reach park position %ds\n", __func__, max/10);
|
||||
return SANE_STATUS_IO_ERROR;
|
||||
DBG (DBG_error, "%s: failed to reach park position in %dseconds\n", __func__, max/10);
|
||||
throw SaneException(SANE_STATUS_IO_ERROR, "failed to reach park position");
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
/**@brief compute hardware sensor dpi to use
|
||||
|
|
|
@ -1904,8 +1904,7 @@ inline SensorExposure sanei_genesys_fixup_exposure(SensorExposure exposure)
|
|||
return exposure;
|
||||
}
|
||||
|
||||
extern SANE_Status
|
||||
sanei_genesys_wait_for_home(Genesys_Device *dev);
|
||||
extern void sanei_genesys_wait_for_home(Genesys_Device* dev);
|
||||
|
||||
extern SANE_Status
|
||||
sanei_genesys_asic_init(Genesys_Device *dev, SANE_Bool cold);
|
||||
|
|
Ładowanie…
Reference in New Issue