<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.633   -&gt; 1.634  
#	drivers/usb/hid-core.c	1.13    -&gt; 1.14   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/08/29	nahshon@actcom.co.il	1.634
# [PATCH] USB keyboards (patch)
# 
# The attached patch is required to use some (buggy?)
# USB keyboards. IMHO it should not cause new problems
# with other HID devices (though, testing with hardware that
# I do not have is a good idea).
# 
# I'm using it with recent 2.4 kernels for some time now.
# 
# Just removing the call to usb_set_idle also works (but
# it is less efficient).
# 
# The 2.5 kernels do not need this changes - they already call
# the equivalent of usb_set_idle (only for input reports) after
# reading the first report.
# --------------------------------------------
#
diff -Nru a/drivers/usb/hid-core.c b/drivers/usb/hid-core.c
--- a/drivers/usb/hid-core.c	Thu Aug 29 13:54:19 2002
+++ b/drivers/usb/hid-core.c	Thu Aug 29 13:54:19 2002
@@ -1065,8 +1065,8 @@
 			list = report_enum-&gt;report_list.next;
 			while (list != &amp;report_enum-&gt;report_list) {
 				report = (struct hid_report *) list;
-				usb_set_idle(hid-&gt;dev, hid-&gt;ifnum, 0, report-&gt;id);
 				hid_read_report(hid, report);
+				usb_set_idle(hid-&gt;dev, hid-&gt;ifnum, 0, report-&gt;id);
 				list = list-&gt;next;
 			}
 		}
</pre></body></html>