From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756831AbcC2KdI (ORCPT ); Tue, 29 Mar 2016 06:33:08 -0400 Received: from mga04.intel.com ([192.55.52.120]:58166 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751603AbcC2KdF (ORCPT ); Tue, 29 Mar 2016 06:33:05 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,410,1455004800"; d="asc'?scan'208";a="677326811" From: Felipe Balbi To: Dmitry Osipenko , Li Yang , Sergei Shtylyov Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] usb: gadget: fsl_udc_core: Fix pullup status In-Reply-To: <1458918681-18879-1-git-send-email-digetx@gmail.com> References: <1458918681-18879-1-git-send-email-digetx@gmail.com> User-Agent: Notmuch/0.21 (http://notmuchmail.org) Emacs/25.0.90.3 (x86_64-pc-linux-gnu) Date: Tue, 29 Mar 2016 13:31:13 +0300 Message-ID: <87io05shhq.fsf@intel.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Dmitry Osipenko 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 > --- > Changelog: > V2: "(is_on !=3D 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/u= dc/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) >=20=20 > udc =3D container_of(gadget, struct fsl_udc, gadget); >=20=20 > + udc->softconnect =3D !!is_on; > + > if (!udc->vbus_active) > return -EOPNOTSUPP; >=20=20 > - udc->softconnect =3D (is_on !=3D 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. =2D-=20 balbi --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJW+llxAAoJEIaOsuA1yqREgfwQAIYLdM+JfygZUDu0j2RjRovF nzX3AbhuyxU5P5Kycgs++WCd47P/K+w81dYlBeeS9SNWg4dQFlBojAxTopUqJ2se R2aHiSlLMXeCXls0be18FcjIvd5TteH8viHvPi/AjzOa99HnbiqaGuKM9ROoTaei aSSS74oeOJdHYmt+SPKrEBNbg05YPgSge4kMIB8BRx99KQXaSY5jAcPj+ZVz3MQo hFgHcWMh9NhZY+Fz0/6h+68Ro39zou6GPTuqBiHUrs2m1S9UH1yOULSoigX+tcAu iu2h84399bwNhIk5/lqFxBDDFrVcdKU3gSxvsdYdh/Ab12PmXcuwBZFzw3wscpkE 9D/WR8mb1fakVpYpIrc2PLBO94fz5JlWXCefFSQGiuWsxB3b7rzDt8Ylk0szOPHy LbW0FjZ3QSkDlxG4BfmPZ54D4CuVC+ZFAW16vtKlVnjqgsuHdn81d+bEadMhy0FQ Dqzm89D9wD4G2IbLzl2dk+rvAyFRYNnlQO154POxOVwHkm96cWQkPAzmoUmiMFz9 z6IxTrXkDTYr0dcyP0s+UMMbQfgy+zsaffR2MaXPE79b7lXeYUQ+QAm3VUHi8xgs KBYVJMLVmVSBgYK80A/Nxmpbn4nS7nhBpoUEvqjZ0RsJIqEbm38FT2RKDYXQoyRZ 6VY2NGizD6wsQ9fVIcKl =Js9G -----END PGP SIGNATURE----- --=-=-=--