On Fri, Aug 05, 2005 at 12:07:55AM -0400, Michael Krufky wrote: > >Sounds like a fun thing for post-2.6.13. > > > >What does usb-handoff do, precisely? > > > I just did a series tests. This is necessary, because the problem was > intermittent for me. usb-handoff fixes all of my problems!!! > > without using usb-handoff, my ps/2 mouse works 1/10 times > using usb-handoff, my ps/2 mouse works 10/10 times > > I consider the problem solved... If Dmitry wants to make usb-handoff the > default, he has my support :-). Here is a patch from the SuSE kernel CVS. It's been in SuSE's kernels since 9.1 I believe, and that's a long time.
[usb-handoff-default.diff] Date: Fri Mar 4 21:53:39 CET 2005 From: Vojtech Pavlik <[EMAIL PROTECTED]> Subject: Make "usb-handoff" the default, "usb-no-handoff" turns it off. ============================================================================================= Documentation/kernel-parameters.txt | 1 + drivers/pci/quirks.c | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) ============================================================================================= diff -ur linux-2.6.12/Documentation/kernel-parameters.txt linux-2.6.12-input/Documentation/kernel-parameters.txt --- linux-2.6.12/Documentation/kernel-parameters.txt 2005-06-24 15:56:17.000000000 +0200 +++ linux-2.6.12-input/Documentation/kernel-parameters.txt 2005-06-24 15:57:06.000000000 +0200 @@ -1456,6 +1456,7 @@ Format: <io>,<irq> usb-handoff [HW] Enable early USB BIOS -> OS handoff + usb-no-handoff [HW] Disable early USB BIOS -> OS handoff usbhid.mousepoll= [USBHID] The interval which mice are to be polled at. diff -ur linux-2.6.12/drivers/pci/quirks.c linux-2.6.12-input/drivers/pci/quirks.c --- linux-2.6.12/drivers/pci/quirks.c 2005-06-24 15:56:17.000000000 +0200 +++ linux-2.6.12-input/drivers/pci/quirks.c 2005-06-24 15:56:42.000000000 +0200 @@ -902,13 +902,23 @@ #define EHCI_USBLEGCTLSTS 4 /* legacy control/status */ #define EHCI_USBLEGCTLSTS_SOOE (1 << 13) /* SMI on ownership change */ +#if defined(__i386__) || defined(__x86_64__) +int usb_early_handoff __devinitdata = 1; /* Do handoff by default */ +#else int usb_early_handoff __devinitdata = 0; +#endif static int __init usb_handoff_early(char *str) { usb_early_handoff = 1; return 0; } __setup("usb-handoff", usb_handoff_early); +static int __init usb_no_handoff_early(char *str) +{ + usb_early_handoff = 0; + return 0; +} +__setup("usb-no-handoff", usb_no_handoff_early); static void __devinit quirk_usb_handoff_uhci(struct pci_dev *pdev) { -- Vojtech Pavlik SuSE Labs, SuSE CR - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/