[sane-devel] [PATCH] Fix ADF scanning for Canon MF57x0 devices

Dmitry Deshevoy mityada at gmail.com
Thu Oct 6 18:23:41 UTC 2016


Hello Rolf,

No, unfortunately I have only MF5730 and it already has status 'completed'.

On 5 October 2016 at 21:15, Rolf Bensch <rolf at bensch-online.de> wrote:

> Hello Dmitry,
>
> I just pushed your patch to SANEs git repository.
>
> The MF5750 still has the status untested. Have you also tested this
> device or can you confirm that this device is working?
>
> Many thanks for your help.
>
> Cheers,
> Rolf
>
> Am 30.09.2016 um 15:38 schrieb Dmitry Deshevoy:
> > Canon MF57x0 devices require abort_session() after each page except
> > the last one.
> > The result from calibrate() should be ignored, so that scanning is not
> > interrupted with PIXMA_STATUS_BUSY.
> > ---
> >  backend/pixma_mp730.c | 31 ++++++++++++++++++-------------
> >  1 file changed, 18 insertions(+), 13 deletions(-)
> >
> > diff --git a/backend/pixma_mp730.c b/backend/pixma_mp730.c
> > index 06bc9ee..b0692e4 100644
> > --- a/backend/pixma_mp730.c
> > +++ b/backend/pixma_mp730.c
> > @@ -459,6 +459,8 @@ step1 (pixma_t * s)
> >            default:
> >              break;
> >          }
> > +
> > +      error = 0;
> >      }
> >    if (error >= 0)
> >      error = activate (s, 0);
> > @@ -747,19 +749,22 @@ mp730_finish_scan (pixma_t * s)
> >        query_status (s);
> >        activate (s, 0);
> >
> > -      if (! aborted && s->cfg->pid == IR1020_PID)
> > - {
> > -  error = abort_session (s);
> > -  if (error < 0)
> > -    {
> > -      PDBG (pixma_dbg
> > -    (1, "WARNING:abort_session() failed %s\n",
> > -     pixma_strerror (error)));
> > -      query_status (s);
> > -      query_status (s);
> > -      activate (s, 0);
> > -    }
> > - }
> > +      if (!aborted &&
> > +          (s->param->source == PIXMA_SOURCE_ADF ||
> > +           s->param->source == PIXMA_SOURCE_ADFDUP) &&
> > +          has_paper (s) &&
> > +          (s->cfg->pid == MF5730_PID ||
> > +           s->cfg->pid == MF5750_PID ||
> > +           s->cfg->pid == MF5770_PID ||
> > +           s->cfg->pid == IR1020_PID))
> > +        {
> > +          error = abort_session (s);
> > +          if (error < 0)
> > +            PDBG (pixma_dbg
> > +                  (1, "WARNING:abort_session() failed %s\n",
> > +                   pixma_strerror (error)));
> > +        }
> > +
> >        mp->buf = mp->lbuf = mp->imgbuf = NULL;
> >        mp->state = state_idle;
> >        /* fall through */
>
>
>


-- 
С уважением,
Дмитрий Дешевой
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20161006/867e5873/attachment.html>


More information about the sane-devel mailing list