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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux