Re: Problem in sanei_scsi.c

From: abel deuring (a.deuring@satzbau-gmbh.de)
Date: Fri May 26 2000 - 06:15:00 PDT

  • Next message: Russ Burdick: "Re: Acer Prisa 620P"

    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