lkml.org 
[lkml]   [2016]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] usb: gadget: fsl_udc_core: Fix pullup status
From
Date
29.03.2016 13:31, Felipe Balbi пишет:
> Dmitry Osipenko <digetx@gmail.com> writes:
>> udc->softconnect should be set regardless of the VBUS state, otherwise
>> the USB peripheral device, connected during suspend, won't be detected
>> since can_pullup() would return false and the UDC won't be enabled.
>>
>> Fixes: 252455c40316 (usb: gadget: fsl driver pullup fix)
>> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
>> ---
>> Changelog:
>> V2: "(is_on != 0)" changed to "!!is_on" as per Sergei Shtylyov comment,
>> cleaned up commit message.
>>
>> drivers/usb/gadget/udc/fsl_udc_core.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/gadget/udc/fsl_udc_core.c b/drivers/usb/gadget/udc/fsl_udc_core.c
>> index aab5221..4309b4f 100644
>> --- a/drivers/usb/gadget/udc/fsl_udc_core.c
>> +++ b/drivers/usb/gadget/udc/fsl_udc_core.c
>> @@ -1220,10 +1220,11 @@ static int fsl_pullup(struct usb_gadget *gadget, int is_on)
>>
>> udc = container_of(gadget, struct fsl_udc, gadget);
>>
>> + udc->softconnect = !!is_on;
>> +
>> if (!udc->vbus_active)
>> return -EOPNOTSUPP;
>>
>> - udc->softconnect = (is_on != 0);
>
> if we're suspended and VBUS was cut off, why would we keep softconnect
> set to true ? That would also cause a discrepancy between SW state and
> HW state.
>
> I don't have this HW to test, but this patch seems wrong to me.
>

Yeah, you are right. I'm using a fork of this driver with some minor differences
to make it work with other hardware and missed that upstream driver enables
controller on resume unconditionally. Sorry for the noise and please ignore this
patch.

--
Dmitry

\
 
 \ /
  Last update: 2016-03-29 14:01    [W:0.098 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site