Douglas Gilbert wrote:
>
> Simon Munton wrote:
> >
> > Hi,
> >
> > I've found a problem in the issue() function in sanei_scsi.c, that results
> > in the queue in sg filling up, and prevents any more scsi commands being
> > issued until the device is closed.
> >
> > There is a test on line 1690 which can erroneously try to reissue a scsi
> > command:
> > if (rp == fdp->sane_qhead && errno == EAGAIN)
> >
> > The first time through the enclosing while loop, rp == fdp->sane_qhead. But
> > if the write() call issuing the command was successful, errno is left
> > unchanged, and if errno happens to contain EAGAIN, then the command is
> > issued again, and again... until the command queue in sg is full.
>
> Simon,
> This may explain the strange behaviour that I saw on a
> Umax 1220S and reported to Oliver Rauch.
Douglas and Simon,
I agree, this explains the behaviour reported by Douglas. I've put the
fix to the CVS server.
Thanks for fixing the bug, Simon.
Abel
-- Source code, list archive, and docs: http://www.mostang.com/sane/ To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com
This archive was generated by hypermail 2b29 : Fri May 26 2000 - 06:59:08 PDT