rpms/kernel/devel linux-2.6-ms-wireless-receiver.patch, NONE, 1.1 kernel.spec, 1.501, 1.502

Adam Jackson (ajax) fedora-extras-commits at redhat.com
Fri Mar 14 15:04:51 UTC 2008


Author: ajax

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10401

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-ms-wireless-receiver.patch 
Log Message:
* Fri Mar 14 2008 Adam Jackson <ajax at redhat.com>
- usb: additional quirk for Microsoft wireless receiver


linux-2.6-ms-wireless-receiver.patch:

--- NEW FILE linux-2.6-ms-wireless-receiver.patch ---
diff -up linux-2.6.24.noarch/include/linux/hid.h.jx linux-2.6.24.noarch/include/linux/hid.h
--- linux-2.6.24.noarch/include/linux/hid.h.jx	2008-03-14 10:49:43.000000000 -0400
+++ linux-2.6.24.noarch/include/linux/hid.h	2008-03-14 10:56:08.000000000 -0400
@@ -296,6 +296,7 @@ struct hid_item {
 #define HID_QUIRK_RDESC_MACBOOK_JIS		0x00000010
 #define HID_QUIRK_RDESC_BUTTON_CONSUMER		0x00000020
 #define HID_QUIRK_RDESC_SAMSUNG_REMOTE		0x00000040
+#define HID_QUIRK_RDESC_USAGE_NOT_PHYSICAL	0x00000080
 
 /*
  * This is the global environment of the parser. This information is
diff -up linux-2.6.24.noarch/drivers/hid/usbhid/hid-quirks.c.jx linux-2.6.24.noarch/drivers/hid/usbhid/hid-quirks.c
--- linux-2.6.24.noarch/drivers/hid/usbhid/hid-quirks.c.jx	2008-03-14 10:49:43.000000000 -0400
+++ linux-2.6.24.noarch/drivers/hid/usbhid/hid-quirks.c	2008-03-14 10:57:10.000000000 -0400
@@ -583,7 +583,7 @@ static const struct hid_blacklist {
 	{ USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_CORDLESS_DESKTOP_LX500, HID_QUIRK_LOGITECH_IGNORE_DOUBLED_WHEEL | HID_QUIRK_LOGITECH_EXPANDED_KEYMAP },
 
 	{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_NE4K, HID_QUIRK_MICROSOFT_KEYS },
-	{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_LK6K, HID_QUIRK_MICROSOFT_KEYS },
+	{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_LK6K, HID_QUIRK_MICROSOFT_KEYS | HID_QUIRK_RDESC_USAGE_NOT_PHYSICAL },
 
 	{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MIGHTYMOUSE, HID_QUIRK_MIGHTYMOUSE | HID_QUIRK_INVERT_HWHEEL },
 
@@ -1085,6 +1085,28 @@ static void usbhid_fixup_button_consumer
 	}
 }
 
+/*
+ * Microsoft Wireless Desktop Receiver (Model 1028) has several
+ * 'Usage Min/Max' where it ought to have 'Physical Min/Max'
+ */
+static void usbhid_fixup_microsoft_descriptor(unsigned char *rdesc, int rsize)
+{
+	if (rsize == 571 && rdesc[284] == 0x19
+	                 && rdesc[286] == 0x2a
+	                 && rdesc[304] == 0x19
+	                 && rdesc[306] == 0x29
+	                 && rdesc[352] == 0x1a
+	                 && rdesc[355] == 0x2a
+			 && rdesc[557] == 0x19
+			 && rdesc[559] == 0x29) {
+		printk(KERN_INFO "Fixing up Microsoft Wireless Receiver Model 1028 report \
+escriptor\n"); +		rdesc[284] = rdesc[304] = rdesc[558] = 0x35;
+		rdesc[352] = 0x36;
+		rdesc[286] = rdesc[355] = 0x46;
+		rdesc[306] = rdesc[559] = 0x45;
+	}
+}
+
 static void __usbhid_fixup_report_descriptor(__u32 quirks, char *rdesc, unsigned rsize)
 {
 	if ((quirks & HID_QUIRK_RDESC_CYMOTION))
@@ -1108,6 +1130,8 @@ static void __usbhid_fixup_report_descri
 	if (quirks & HID_QUIRK_RDESC_SAMSUNG_REMOTE)
 		usbhid_fixup_samsung_irda_descriptor(rdesc, rsize);
 
+	if (quirks & HID_QUIRK_RDESC_USAGE_NOT_PHYSICAL)
+		usbhid_fixup_microsoft_descriptor(rdesc, rsize);
 }
 
 /**


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.501
retrieving revision 1.502
diff -u -r1.501 -r1.502
--- kernel.spec	13 Mar 2008 15:24:16 -0000	1.501
+++ kernel.spec	14 Mar 2008 15:04:02 -0000	1.502
@@ -643,6 +643,8 @@
 
 # make USB EHCI driver respect "nousb" parameter
 Patch2300: linux-2.6-usb-ehci-hcd-respect-nousb.patch
+# Fix HID usage descriptor on MS wireless desktop receiver
+Patch2301: linux-2.6-ms-wireless-receiver.patch
 
 # acpi hotkey driver for asus eeepc
 Patch2350: linux-2.6-acpi-eeepc-hotkey.patch
@@ -1021,6 +1023,8 @@
 ### NOT (YET) UPSTREAM:
 # The EHCI ISO patch isn't yet upstream but is needed to fix reboot
 ApplyPatch linux-2.6-ps3-ehci-iso.patch
+# Fixes some wireless optical mice
+ApplyPatch linux-2.6-ms-wireless-receiver.patch
 # The storage alias patch is Fedora-local, and allows the old 'ps3_storage'
 # module name to work on upgrades. Otherwise, I believe mkinitrd will fail
 # to pull the module in,
@@ -1752,6 +1756,9 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
 
 %changelog
+* Fri Mar 14 2008 Adam Jackson <ajax at redhat.com>
+- usb: additional quirk for Microsoft wireless receiver
+
 * Thu Mar 13 2008 Kyle McMartin <kmcmartin at redhat.com>
 - Linux 2.6.25-rc5-git3
 - linux-2.6-ppc32-ucmpdi2.patch: nuked, merged upstream




More information about the fedora-extras-commits mailing list