lkml.org 
[lkml]   [2011]   [Jun]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] xhci: Add reset on resume quirk for asrock p67 host
Op 15-06-11 23:41, Maarten Lankhorst schreef:
> Op 15-06-11 23:21, Sarah Sharp schreef:
>> On Wed, Jun 15, 2011 at 05:00:17PM -0400, Alan Stern wrote:
>>> On Wed, 15 Jun 2011, Sarah Sharp wrote:
>>>
>>>> On Wed, Jun 15, 2011 at 10:29:01PM +0200, Maarten Lankhorst wrote:
>>>>> The asrock p67 xhci controller completely dies on resume,
>>>>> add a quirk for this, to bring the host back online after a suspend.
>>>>>
>>>>> This should be backported to stable kernels as far back as 2.6.34.
>>>> Why 2.6.34? Only kernels as old as 2.6.37 had xHCI suspend and resume
>>>> support. Before 2.6.37, the xHCI driver would prevent the system from
>>>> suspending at all.
>>>>
>>>> Otherwise looks fine.
>>>>
>>>> Sarah Sharp
>>>>
>>>>> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
>>>>> index 06e7023..42fd032 100644
>>>>> --- a/drivers/usb/host/xhci.c
>>>>> +++ b/drivers/usb/host/xhci.c
>>>>> @@ -759,6 +759,8 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated)
>>>>> msleep(100);
>>>>>
>>>>> spin_lock_irq(&xhci->lock);
>>>>> + if (xhci->quirks & XHCI_RESET_ON_RESUME)
>>>>> + hibernated = 0;
>>> Shouldn't this be "hibernated = true;"? You want the driver to treat
>>> suspend as though it were hibernation, not the other way around.
>> Yes, good catch. Maarten, can you respin this patch (and with the
>> note that it should be backported as far as 2.6.37).
>>
>> Sarah Sharp
> Odd! I could have sworn I had a succesful suspend with the quirk printed
> in dmesg. The hang appears to not happen 100% of the time then. Weird,
> wish I had saved the log. Will respin the patch.
>
> Of course the act of observing made it impossible to reproduce. :-/
>
> ~Maarten
I cannot be 100% sure, but normally on suspend I saw 'HC died'. This
time I *think* a urb submit timed out instead, but I cannot reproduce
it now. I just assume it was user error though, still weird.

Fixed patch reliably works without errors, surviving 20 suspends.
The other one only worked once it seems, discard as anomaly please.


\
 
 \ /
  Last update: 2011-06-16 00:17    [W:0.052 / U:1.764 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site