<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;"># This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.650   -&gt; 1.651  
#	drivers/usb/image/microtek.c	1.18    -&gt; 1.19   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/09/11	oliver@neukum.name	1.651
# [PATCH] fix for error handling in microtek
# 
# --------------------------------------------
#
diff -Nru a/drivers/usb/image/microtek.c b/drivers/usb/image/microtek.c
--- a/drivers/usb/image/microtek.c	Thu Sep 12 10:26:02 2002
+++ b/drivers/usb/image/microtek.c	Thu Sep 12 10:26:02 2002
@@ -583,13 +583,22 @@
 		return;
 	}
 
-	if ( context-&gt;data ) {
+	if (context-&gt;srb-&gt;cmnd[0] == REQUEST_SENSE) {
 		mts_int_submit_urb(transfer,
 				   context-&gt;data_pipe,
-				   context-&gt;data,
+				   context-&gt;srb-&gt;sense_buffer,
 				   context-&gt;data_length,
-				   context-&gt;srb-&gt;use_sg ? mts_do_sg : mts_data_done);
-	} else mts_get_status(transfer);
+				   mts_data_done);
+	} else { if ( context-&gt;data ) {
+			mts_int_submit_urb(transfer,
+					   context-&gt;data_pipe,
+					   context-&gt;data,
+					   context-&gt;data_length,
+					   context-&gt;srb-&gt;use_sg ? mts_do_sg : mts_data_done);
+		} else {
+			mts_get_status(transfer);
+		}
+	}
 
 	return;
 }
@@ -598,7 +607,7 @@
 {
 	struct scatterlist * sg;
 	MTS_INT_INIT();
-	
+
 	MTS_DEBUG("Processing fragment %d of %d\n", context-&gt;fragment,context-&gt;srb-&gt;use_sg);
 
 	if (unlikely(transfer-&gt;status)) {
</pre></body></html>