Re: [PATCH] usb: dwc2: host: Fix remote wakeup when not in DWC2_L2

From: John Youn
Date: Thu Oct 29 2015 - 23:21:37 EST


On 10/29/2015 9:43 AM, Doug Anderson wrote:
> John,
>
> On Thu, Oct 22, 2015 at 1:05 PM, Douglas Anderson <dianders@xxxxxxxxxxxx> wrote:
>> In commit 734643dfbdde ("usb: dwc2: host: add flag to reflect bus
>> state") we changed dwc2_port_suspend() not to set the lx_state
>> anymore (instead it sets the new bus_suspended variable). This
>> introduced a bug where we would fail to detect device insertions if:
>>
>> 1. Plug empty hub into dwc2
>> 2. Plug USB flash drive into the empty hub.
>> 3. Wait a few seconds
>> 4. Unplug USB flash drive
>> 5. Less than 2 seconds after step 4, plug the USB flash drive in again.
>>
>> The dwc2_hcd_rem_wakeup() function should have been changed to look at
>> the new bus_suspended variable.
>>
>> Let's fix it. Since commit b46146d59fda ("usb: dwc2: host: resume root
>> hub on remote wakeup") talks about needing the root hub resumed if the
>> bus was suspended, we'll include it in our test.
>>
>> It appears that the "port_l1_change" should only be set to 1 if we were
>> in DWC2_L1 (the driver currently never sets this), so we'll update the
>> former "else" case based on this test.
>>
>> Fixes: 734643dfbdde ("usb: dwc2: host: add flag to reflect bus state")
>> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
>> ---
>> drivers/usb/dwc2/hcd.c | 9 +++++----
>> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> I know I've sent up a lot of patches recently, but this one in
> particular would be good to get tested, reviewed, and landed sooner
> rather than later. I believe it fixes a recent regression that is
> probably experienced across all dwc2 users.
>
> Please let me know if you have any questions.


Acked-by: John Youn <johnyoun@xxxxxxxxxxxx>

Sorry for the delay. I'll get to the others soon.


Yousaf, Gregory,

Care to provide reviewed or tested-bys?

Regards,
John

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