[PATCH] Fix dropped device-specific quirks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have a microsoft wireless optical desktop [0045e:009d] that needs the HID_QUIRK_NOGET quirk explicitly, as explained in this commit:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8dcd5afabffe7c7428323b6f083c2ec70129b459

I've upgraded my kernel from 2.6.27-gentoo-r10 to 2.6.28-gentoo-r5 and my device has stopped working. Augmenting the source with some extra logging revealed that the NOGET quirk is set up correctly as a device-specific quirk in ms_probe() first, then gets dropped in usbhid_parse().

The patch below (made against vanilla 2.6.30-rc4) fixes the problem for me.

Regards,
Zoltan

diff -r -U 5 linux-2.6.30-rc4/drivers/hid/usbhid/hid-core.c linux-2.6.30-rc4-fixed/drivers/hid/usbhid/hid-core.c
--- linux-2.6.30-rc4/drivers/hid/usbhid/hid-core.c	2009-05-01 12:06:18.000000000 +0200
+++ linux-2.6.30-rc4-fixed/drivers/hid/usbhid/hid-core.c	2009-05-03 14:43:47.000000000 +0200
@@ -896,11 +896,11 @@
	if (ret) {
		dbg_hid("parsing report descriptor failed\n");
		goto err;
	}

-	hid->quirks = quirks;
+	hid->quirks |= quirks;

	return 0;
err:
	return ret;
}





















--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux