Re: [PATCH] Fix USB suspend/resume crasher

From: Rafael J. Wysocki
Date: Thu Nov 24 2005 - 16:02:33 EST


On Thursday, 24 of November 2005 02:23, Benjamin Herrenschmidt wrote:
>
> > Unfortunately with this patch the EHCI controller in my box (Asus L5D,
> > x86-64 kernel) does not resume from suspend. Appended is the relevant
> > snippet from the serial console log (EHCI is the only device using IRQ #5).
>
> Hrm... let me see... You are getting an interrupt for EHCI after it has
> been resumed, so it should work.
>
> /me double-checks the patch
>
> > ehci_hcd 0000:00:02.2: lost power, restarting
>
> Hrm... I can't find that line in the code...
>
> /me rechecks with david's other patches
>
> Ah ... I see it. There might have been some screwup between david's
> patch and mine.
>
> Make sure that
>
> set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
>
> Is still done before anything else in ehci_pci_resume().

Well, it's there (actually the problem occurs in vanilla 2.6.15-rc2-mm1 that
contains the patch). Do you mean it should go before the

if (readl(&ehci->regs->configured_flag) != FLAG_CF)
goto restart;

thing?

> It may be worth following it with a memory barrier actually... just in case
> (due to the absence of locks in that area).

wmb()?

Rafael
-
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/