Re: Latest GIT: USB ehci_hcd broken (spinlock corruption)

From: Andrew Morton
Date: Sun Nov 27 2005 - 20:03:29 EST


Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>
> For now, you can workaround the bug by adding:
>
> spin_lock_init(&ehci_lock);
>
> as the first line of drivers/usb/host/ehci-pci.c:ehci_pci_reset().

Yup.

--- devel/drivers/usb/host/ehci-pci.c~gregkh-usb-usb-pm-09-fix 2005-11-25 19:03:59.000000000 -0800
+++ devel-akpm/drivers/usb/host/ehci-pci.c 2005-11-25 19:03:59.000000000 -0800
@@ -129,6 +129,8 @@ static int ehci_pci_reset(struct usb_hcd
u32 temp;
int retval;

+ spin_lock_init(&ehci->lock);
+
ehci->caps = hcd->regs;
ehci->regs = hcd->regs + HC_LENGTH(readl(&ehci->caps->hc_capbase));
dbg_hcs_params(ehci, "reset");
_

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