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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|