cd wherever/sane-0.70
      patch -p1 <PATCHFILE 
Then rebuild with "make clean; make" and then "make install" as root.
Should the patch have any negative effect on the operation of your
scanner, please send me a detailed bug report (scanner model, error
encountered, debug output etc. ;-).
Non-Linux platforms will need a similar patch to make certain scanners
work (those scanners return a sense code of NOT READY when the scanner
is busy).  But I'd need patches from people who can test the changes.
Thanks,
	--david
--- sane-0.70/sanei/sanei_scsi.c	Mon Jan 26 23:41:50 1998
+++ sane-pre0.71/sanei/sanei_scsi.c	Sat Feb 14 15:41:17 1998
@@ -671,7 +726,8 @@
 	{
 	  nread -= sizeof (req->cdb.hdr);
 
-	  if (req->cdb.hdr.result == 0)
+	  if (req->cdb.hdr.result == 0
+	      && (req->cdb.hdr.sense_buffer[0] & 0x7f) == 0)
 	    {
 	      if (req->dst)
 		memcpy (req->dst, req->cdb.data, nread);
@@ -685,15 +741,14 @@
 	    {
 	      SANEI_SCSI_Sense_Handler handler
 		= fd_info[req->fd].sense_handler;
-	      void *arg
-		= fd_info[req->fd].sense_handler_arg;
+	      void *arg = fd_info[req->fd].sense_handler_arg;
 
 	      DBG(1, "sanei_scsi_req_wait: SCSI command failed: %s\n",
 		  strerror (req->cdb.hdr.result));
 
 	      if (req->cdb.hdr.result == EBUSY)
 		status = SANE_STATUS_DEVICE_BUSY;
-	      else if ((req->cdb.hdr.sense_buffer[0] & 0x80) && handler)
+	      else if (handler)
 		status = (*handler) (req->fd, req->cdb.hdr.sense_buffer, arg);
 	      else
 		status = SANE_STATUS_IO_ERROR;
-- Source code, list archive, and docs: http://www.mostang.com/sane/ To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com