Re: yet another release

From: Jose Paulo Moitinho de Almeida (moitinho@civil.ist.utl.pt)
Date: Sun Jul 08 2001 - 14:34:21 PDT

  • Next message: Ceri Hankey: "Can Sane deal with TWO scanners on the computer?"

    Hello
     
    By changing simple_done in hpusbscsi, so that the state variable is not changed "too late":
     
    static void simple_done (struct urb *u)
    {
            struct hpusbscsi * hpusbscsi = (struct hpusbscsi *)u->context;
     
            DEBUG("Data transfer done\n");
            if (u->status < 0) {
                    hpusbscsi->state = HP_STATE_ERROR;
                    DEBUG ("simple_done set HP_STATE_ERROR\n");
            } else {
                if (hpusbscsi->state != HP_STATE_FREE) { /* THIS IF ... */
                    hpusbscsi->state = HP_STATE_WAIT;
                    DEBUG ("simple_done set HP_STATE_WAIT\n");
                }
            }
    }
     
    I managed to make vuescan work and recognise the scaner. The program identifies
    the possible resolutions and even pretends to make a preview and a scan :-)
     
    The fact that the preview and the scan are empty is of lesser relevance.....
     
    Also, I should not mention that I still manage to hang the driver, but given the
    lack of knowledge/justification for the change that I made it makes
    me quite happy.
     
    The impression that I got from the hangs is that there are other situations when the interrupts
    are not processed "in due order", or then it just my patch ....
     
     
    Regards

    --
    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 : Sun Jul 08 2001 - 14:23:38 PDT