Re: [PATCH v2] usb: gadget: fsl_udc_core: Fix pullup status

From: Felipe Balbi
Date: Tue Mar 29 2016 - 07:21:40 EST


Dmitry Osipenko <digetx@xxxxxxxxx> writes:
> 29.03.2016 13:31, Felipe Balbi ÐÐÑÐÑ:
>> Dmitry Osipenko <digetx@xxxxxxxxx> 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@xxxxxxxxx>
>>> ---
>>> 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.

you shouldn't send patches unless you have tested them. Simply
cherry-picking from another tree and sending it is NOT good enough. You
MUST test what you're sending with latest tag from Linus (right now,
that's v4.6-rc1). If you can't update your kernel, then don't try to
patch something you can't validate.

Thanks

--
balbi

Attachment: signature.asc
Description: PGP signature