From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com ([134.134.136.31]:7860 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754703AbcKCIur (ORCPT ); Thu, 3 Nov 2016 04:50:47 -0400 From: Felipe Balbi To: Peter Chen Cc: linux-usb@vger.kernel.org, Peter Chen , stable@vger.kernel.org Subject: Re: [PATCH 1/1] usb: gadget: f_uac2: fix error handling at afunc_bind In-Reply-To: <1477471565-22087-1-git-send-email-peter.chen@nxp.com> References: <1477471565-22087-1-git-send-email-peter.chen@nxp.com> Date: Thu, 03 Nov 2016 10:50:23 +0200 Message-ID: <874m3pne0g.fsf@linux.intel.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Sender: stable-owner@vger.kernel.org List-ID: --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi, Peter Chen writes: > The current error handling flow uses incorrect goto label, fix it > > Cc: > Fixes: d12a8727171c ("usb: gadget: function: Remove > redundant usb_free_all_descriptors") > Signed-off-by: Peter Chen seems like there's more than one fix here. > --- > drivers/usb/gadget/function/f_uac2.c | 20 +++++++++++--------- > 1 file changed, 11 insertions(+), 9 deletions(-) > > diff --git a/drivers/usb/gadget/function/f_uac2.c b/drivers/usb/gadget/fu= nction/f_uac2.c > index cd214ec8..3f4e478 100644 > --- a/drivers/usb/gadget/function/f_uac2.c > +++ b/drivers/usb/gadget/function/f_uac2.c > @@ -1067,13 +1067,13 @@ afunc_bind(struct usb_configuration *cfg, struct = usb_function *fn) > agdev->out_ep =3D usb_ep_autoconfig(gadget, &fs_epout_desc); > if (!agdev->out_ep) { > dev_err(dev, "%s:%d Error!\n", __func__, __LINE__); > - goto err; > + return ret; > } >=20=20 > agdev->in_ep =3D usb_ep_autoconfig(gadget, &fs_epin_desc); > if (!agdev->in_ep) { > dev_err(dev, "%s:%d Error!\n", __func__, __LINE__); > - goto err; > + return ret; > } >=20=20 > uac2->p_prm.uac2 =3D uac2; > @@ -1091,13 +1091,14 @@ afunc_bind(struct usb_configuration *cfg, struct = usb_function *fn) > ret =3D usb_assign_descriptors(fn, fs_audio_desc, hs_audio_desc, NULL, > NULL); > if (ret) > - goto err; > + return ret; this is one fix >=20=20 > prm =3D &agdev->uac2.c_prm; > prm->max_psize =3D hs_epout_desc.wMaxPacketSize; > prm->rbuf =3D kzalloc(prm->max_psize * USB_XFERS, GFP_KERNEL); > if (!prm->rbuf) { > prm->max_psize =3D 0; > + ret =3D -ENOMEM; but initializing ret to -ENOMEM is a separate fix altogether.=20 =2D-=20 balbi --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIcBAEBCAAGBQJYGvpPAAoJEMy+uJnhGpkGkGYP/jV+4k1cXPK1ghhb61QXddY8 IkL9Lf8Qr3B9q9dp3Y3EOCRJI4871JD9qHe7UwnRjq3AJHpvbEmUIkgc2f9ICLOt /wMM9B77dgHqV8x2KIa7DOEdW6sKwfsWgzGSwOT2NmPvL5dStgUc8oLlQPPajvgn p8hqmojN3QV6u0KKAdoxYGeGxLqF9KyWItRcjNUjVe/H8A6ys0ZROh4gjSx4ouXn PhshdQpmLnTsoVo0HXmcGW+Z1imBKunFKli39UZ3AZhxVU8Zi0FLYBwa4SFlzSkC g6X5pe52kUwJunJW1lmq1WUFkpf0gGqaI0fLVsAk0VtZTrJM9kJOd/zgee8T/tYc nvzMxxXLuW7BEtdkeEyg4gWfyRevAa6TKaRwUsGRBRtYuC0SbLj4mYYtEU1KvWHW jMoJXy8CYFd5/wMDgFZOCWLtIt18o91KA8Y0xvXSCyb0F4Z+TRRie7jwr+zdeB2N 2HYTsPR0jOvISdamOp3BpOACLAnE0FC/cR/EwsEG1Xa+jJkyfg9mOfPsZCmbCqo3 i5AH5skD3jt3mDcvvvdiEOrrm1R0XThkJWtMFt519/i2ey5wH2+6fggssFhaLD3S CEDeZ0w27+PT4JI3GGV5/pSvUMLh2id2Yckit2hadUWXFgfTFTWIMla9BJH9D2Br 1EHz7MtrWYazHNz3Iim+ =kkyB -----END PGP SIGNATURE----- --=-=-=--