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/

Reply via email to