USB Support for larger scans
Brought to you by:
paulnewall
This patch enables USB support for scans over 32K in size.
Problem:
The mc_read function was asking for 64K blocks from the scanner. libusb was only giving 32K blocks. The function mc_recv was signaling early EOF on any block request above 32K.
Since the libusb interface doesn't guarantee the max block size is/always will be 32K, I took this requirement out of the driver completely and instead the mc_recv function will block waiting for data until it times out. Since all of the calling functions only call mc_recv when the protocol specifies that there will be data on the line, this should not cause any unnecessary delay.
This fix works at 75dpi but fails at higher resolutions. Seems to be some trouble with buffering data back to SANE.