multipick from hplip-3.18.9 breaks scanning on HP LaserJet 3052

Bug #1818198 reported by meeuw
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HPLIP
New
Undecided
Unassigned

Bug Description

The multipick patch for scanext.c (introduced in hplip-3.18.9: Misfeed(multipick) detection) seems to break scanning on my HP LaserJet 3052.

The error message is: error: No data read.

When multipick is disabled, by changing if(0) to if(1) in scanext.c:

if(0)
{
SANE_Bool b = SANE_TRUE;
    sane_control_option (self->h, 9, SANE_ACTION_SET_VALUE, (void *)&b, &i);
}
else
{
SANE_Bool b = SANE_FALSE;
    sane_control_option (self->h, 9, SANE_ACTION_SET_VALUE, (void *)&b, &i);
}

Everything seems to be working. Could this please be made the default?

Revision history for this message
zdohnal (zdohnal) wrote :

Hi,

meeuw reported the issue to our bugzilla too https://bugzilla.redhat.com/show_bug.cgi?id=1684434 , but I'm not sure what author meant by this part of code.
The if/else statement supposes to set device option number 9 (IMO the first problem - magic number - hpaio can use several device handles - MARVELL, SOAP, SOAPHT, LEDM, SCL-PML, ESCL, ORBLITE, each has somewhat different set of options - so the function sets option number 9 for whatever handle type, with no consideration to type of option...) always when setOption() is called (it would be awesome to add some comments too, about why the script does 'if(1)').
Because I'm not sure what the part of code suppose to do, I cannot propose any fixes for it.

Would you mind reviewing the mentioned part of code, refactoring it to be more reader-friendly and fixing meeuw's issue?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.