Hello, When I cancel a scan on a SCSI scanner using UMAX backend, the scanner keeps scanning for a couple of seconds. Then the scanner stops and XSane freezes for a couple of minutes (4 or so). Then suddenly everything comes alive and finishes (scanner goes to home position and XSane reports that the operation was cancelled).
This happens with UC630 and PowerLook II scanners on two different systems. Seems that the problem is caused by SCSI command queueing - the stall occurs on sanei_scsi_req_flush_all() called by do_cancel() function. Not sure about how umax_reader_process() works - it seems to queue as many read commands as possible. But that shouldn't be a problem since they should complete quickly if they get to the scanner. I don't know what sanei_scsi_req_flush_all() does - just waits until the queue gets empty or tries to delete waiting commands from the queue? Did cancel ever work correctly with umax backend? -- Ondrej Zary
