From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C1A5FC5DF9C for ; Mon, 24 Aug 2026 16:47:39 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 8790D80F73; Mon, 24 Aug 2026 16:47:39 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 8tH55COZ8b6U; Mon, 24 Aug 2026 16:47:35 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.166.142; helo=lists1.osuosl.org; envelope-from=u-boot-bounces@lists.u-boot-project.org; receiver= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lists.u-boot-project.org; s=default; t=1787589950; bh=xaBqxyC+Jjh9e0kBNOWUOuyumSWEXIk9qbZ6rpBSa7E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=pyxrB2U2ORStZfufNQWky/D8ZXiD3GWQZOG6Eq9jqmecDewK7smj/w53wy0mRmKdS qOw58CQQVyVJjwrKiemL/jXluFKg8MyB/HQDI6GlWxc0H5SIxJQBbHY7DBHpp+evTF /XbaovNPGmaLUjtCljFL7LyHpFXwCddZwziRJrRDlt3rjtJ9jXBjfdnpPhvyQ/FqI8 NZ68lOcjgvk8fTIeLni3DXonmpPJUgu+2BCYLwlVKtbKiECNIYAt3DdJBihnetEPKo uNCYf68FwIXTR/Gn+J+87dlHVY4SvDXCFFktX7x/lGnm5sz39cog6yAV12nPu+4hVH Jd8gqxUc39BbA== Received: from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142]) by smtp1.osuosl.org (Postfix) with ESMTP id CA16780F8B; Mon, 24 Aug 2026 16:45:49 +0000 (UTC) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists1.osuosl.org (Postfix) with ESMTP id 40CC8279 for ; Mon, 24 Aug 2026 15:43:11 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 2743B60626 for ; Mon, 24 Aug 2026 15:43:11 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id ot2qngzQ1epk for ; Mon, 24 Aug 2026 15:43:10 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a00:1450:4864:20::52a; helo=mail-ed1-x52a.google.com; envelope-from=anders.roxell@linaro.org; receiver= Authentication-Results: smtp3.osuosl.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=IAbExTDc Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) by smtp3.osuosl.org (Postfix) with ESMTPS id B0A54605F0 for ; Mon, 24 Aug 2026 15:43:08 +0000 (UTC) Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-6a3ec9ef8d4so723360a12.1 for ; Mon, 24 Aug 2026 08:43:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1787586187; x=1788190987; darn=lists.u-boot-project.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=xaBqxyC+Jjh9e0kBNOWUOuyumSWEXIk9qbZ6rpBSa7E=; b=IAbExTDcI5PuljzHdo1ksqZ8nJw+CsoFOE5NgWxrXymGiTGQ3ZkhoklMNWQv00LwT0 AqUVQ0MqbLMEzihsgc80a0cMMP6WZRTRaPK6Ja/zsA0pM2Tm8oFoYz67MjDhHDf+OtYm mXSdTyfxLGI0ODn1Ke10yqhNAKZOPiwpxYFm7DaIwgJmYFZzwZgQdQ2qPhS+0pf8iw+/ KDYVq9FC2KtHXoCplCtQplyWl0qOsphRlkYD/VyqPOJdBMilihy8Ln+rli1CoeKmOLH5 775tS/y7JgjAKUpAZy51I015/9OX1vHyFlWqeuqdqb5tI1cVzYMn4e5pTkVGXyBYNfZ6 Vw8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787586187; x=1788190987; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=xaBqxyC+Jjh9e0kBNOWUOuyumSWEXIk9qbZ6rpBSa7E=; b=Hy2VgCw4irDR3rOuVeGqpcnInaaDItETatwmgI1FpoJePUJ11GLGZALNQ31GiJMLAa zN3dOp/2p0tVgeClkzUW9q9jz+MxZgUzogQeiqE3av5GoiVivmE+ZQCE1uiM0oucyTF2 uWHEUW0k2NzF++zAnit0PeD8oi0pxFvbK2FKLuXkeWYF8+D0f1rm/tbQQWdp/fswlirF BmYQUXQAKI/86crVPZXDhKW0U4aPuubBesCY4VoH+HbTeMyOZrvg/iLI4BaCrFSHrmlL YGg25ic/vd/+ySrYUrD5MvomR5ktfYgCMNBepqdmyv6od+88ja/I31bYTtZefiXOyljI cM9g== X-Gm-Message-State: AFuF++muR6/9XuqIZuOH/xQKsQSE/dsVpHhxJQKwQmDELyRB+f5X0GJo I7Hc8TNaAPGVu9cMwdA+3XfL2BRE3YXf9WaG6hcFnGiaAJ5xNkWZc99uLMdLG5E+hMw2u90XUna QbPg4 X-Gm-Gg: AR+sD12tnpL0cnGctWkr4XaxvqFCshYiRg/TsEOrV+VMxAakTZoLkKCeLt+zuBGBN26 j8dA7XVvbkegGFlu15RlKVB/P4w5D7X9e7d80OtRO+ntV/rPLOR6L7RrdWFM2ORlb39Eyns3rcs z9BMcAVPSj30egh2x4ckIblAL+NB1Mf/plmaGG+P/58NfI8SxPXPAtebYb9EuC8evxA8f7AfOhT /EdnYQ7CoaUirDfmcSY0hGw4lhxkJBwVqf0muhgkHB/OCn7TXgGZE+Yh/41LW9ZBKsmvk1l32b5 jhwXM9ynija29Wj7gPbt80vt8Low/iiqZ1aDnQ7+n1OwEvbdzuL6Ep4UMVsBpQJ7oUYQGAjGyQu 6jxgTUUX+0L45kseO1Qr+gQWJiDY1GQVD2mQPTSWr8nEgId761DkFxWhupfVF3NkOWRIUYrYX7B 61VRmtRUw6MZyOguyCBoIvrs53BneUuvt65VwDdjtbr2Yi6LWtSCY3ZDGpkCxDmjhFPLTx/bm8M VMyNMxxCHY/iEJ8oW20zw== X-Received: by 2002:a05:6402:d0e:b0:6a3:fee5:adc8 with SMTP id 4fb4d7f45d1cf-6a42eeb84dcmr16185407a12.0.1787586186658; Mon, 24 Aug 2026 08:43:06 -0700 (PDT) Received: from monster (c-85-229-7-191.bbcust.telenor.se. [85.229.7.191]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6a59e19a05bsm13368763a12.17.2026.08.24.08.43.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Aug 2026 08:43:05 -0700 (PDT) From: Anders Roxell To: u-boot@lists.u-boot-project.org Cc: marek.vasut@mailbox.org, trini@konsulko.com, ilias.apalodimas@linaro.org, michal.simek@amd.com, lukma@denx.de, alchark@flipper.net, jerome.forissier@arm.com, dlechner@baylibre.com, anshuld@ti.com, sjg@chromium.org, Anders Roxell , Jerome Forissier , Jens Wiklander Subject: [PATCH v7 14/24] usb: gadget: fix up the function drivers after the resync Date: Mon, 24 Aug 2026 17:41:23 +0200 Message-ID: <20260824154133.217744-15-anders.roxell@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260824154133.217744-1-anders.roxell@linaro.org> References: <20260824154133.217744-1-anders.roxell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Mon, 24 Aug 2026 16:43:55 +0000 X-BeenThere: u-boot@lists.u-boot-project.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.u-boot-project.org Adapt the gadget function drivers (acm, fastboot, mass_storage, rockusb, sdp, thor, ether and composite) to the new gadget API. Co-developed-by: Jerome Forissier Signed-off-by: Jerome Forissier Co-developed-by: Jens Wiklander Signed-off-by: Jens Wiklander Signed-off-by: Anders Roxell --- drivers/usb/gadget/composite.c | 2 +- drivers/usb/gadget/ether.c | 21 ++++++++++++++------- drivers/usb/gadget/f_acm.c | 20 +++++++++++--------- drivers/usb/gadget/f_fastboot.c | 10 +++++----- drivers/usb/gadget/f_mass_storage.c | 5 ++++- drivers/usb/gadget/f_rockusb.c | 11 ++++++----- drivers/usb/gadget/f_sdp.c | 12 ++++++++---- drivers/usb/gadget/f_thor.c | 19 +++++++++---------- 8 files changed, 58 insertions(+), 42 deletions(-) diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index 04b85419931e..060788419553 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -833,7 +833,7 @@ static int bos_desc(struct usb_composite_dev *cdev) /* Get Controller configuration */ if (cdev->gadget->ops->get_config_params) { - cdev->gadget->ops->get_config_params( + cdev->gadget->ops->get_config_params(cdev->gadget, &dcd_config_params); } else { dcd_config_params.bU1devExitLat = diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index 7973927e8a7f..13a20441419d 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c @@ -925,8 +925,9 @@ set_ether_config(struct eth_dev *dev, gfp_t gfp_flags) dev->status = ep_desc(gadget, &hs_status_desc, &fs_status_desc); dev->status_ep->driver_data = dev; + dev->status_ep->desc = dev->status; - result = usb_ep_enable(dev->status_ep, dev->status); + result = usb_ep_enable(dev->status_ep); if (result != 0) { debug("enable %s --> %d\n", dev->status_ep->name, result); @@ -951,14 +952,16 @@ set_ether_config(struct eth_dev *dev, gfp_t gfp_flags) * from REMOTE_NDIS_HALT_MSG, reset from REMOTE_NDIS_RESET_MSG. */ if (!cdc_active(dev)) { - result = usb_ep_enable(dev->in_ep, dev->in); + dev->in_ep->desc = dev->in; + result = usb_ep_enable(dev->in_ep); if (result != 0) { debug("enable %s --> %d\n", dev->in_ep->name, result); goto done; } - result = usb_ep_enable(dev->out_ep, dev->out); + dev->out_ep->desc = dev->out; + result = usb_ep_enable(dev->out_ep); if (result != 0) { debug("enable %s --> %d\n", dev->out_ep->name, result); @@ -1156,7 +1159,8 @@ static void issue_start_status(struct eth_dev *dev) * FIXME iff req->context != null just dequeue it */ usb_ep_disable(dev->status_ep); - usb_ep_enable(dev->status_ep, dev->status); + dev->status_ep->desc = dev->status; + usb_ep_enable(dev->status_ep); /* * 3.8.1 says to issue first NETWORK_CONNECTION, then @@ -1314,7 +1318,8 @@ eth_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl) break; if (dev->status) { usb_ep_disable(dev->status_ep); - usb_ep_enable(dev->status_ep, dev->status); + dev->status_ep->desc = dev->status; + usb_ep_enable(dev->status_ep); } value = 0; @@ -1333,8 +1338,10 @@ eth_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl) if (wValue == 1) { if (!cdc_active(dev)) break; - usb_ep_enable(dev->in_ep, dev->in); - usb_ep_enable(dev->out_ep, dev->out); + dev->in_ep->desc = dev->in; + usb_ep_enable(dev->in_ep); + dev->out_ep->desc = dev->out; + usb_ep_enable(dev->out_ep); dev->cdc_filter = DEFAULT_FILTER; if (dev->status) issue_start_status(dev); diff --git a/drivers/usb/gadget/f_acm.c b/drivers/usb/gadget/f_acm.c index b6c11d97a62d..5f5400bab7ec 100644 --- a/drivers/usb/gadget/f_acm.c +++ b/drivers/usb/gadget/f_acm.c @@ -325,20 +325,20 @@ static struct usb_request *acm_start_ep(struct usb_ep *ep, void *complete_cb, static int acm_start_data(struct f_acm *f_acm, struct usb_gadget *gadget) { - const struct usb_endpoint_descriptor *d; int ret; /* EP IN */ - d = ep_desc(gadget, &acm_hs_in_desc, &acm_fs_in_desc); - ret = usb_ep_enable(f_acm->ep_in, d); + f_acm->ep_in->desc = ep_desc(gadget, &acm_hs_in_desc, &acm_fs_in_desc); + ret = usb_ep_enable(f_acm->ep_in); if (ret) return ret; f_acm->req_in = acm_start_ep(f_acm->ep_in, acm_tx_complete, f_acm); /* EP OUT */ - d = ep_desc(gadget, &acm_hs_out_desc, &acm_fs_out_desc); - ret = usb_ep_enable(f_acm->ep_out, d); + f_acm->ep_out->desc = ep_desc(gadget, &acm_hs_out_desc, + &acm_fs_out_desc); + ret = usb_ep_enable(f_acm->ep_out); if (ret) return ret; @@ -354,12 +354,11 @@ static int acm_start_data(struct f_acm *f_acm, struct usb_gadget *gadget) static int acm_start_ctrl(struct f_acm *f_acm, struct usb_gadget *gadget) { - const struct usb_endpoint_descriptor *d; - usb_ep_disable(f_acm->ep_notify); - d = ep_desc(gadget, &acm_hs_notify_desc, &acm_fs_notify_desc); - usb_ep_enable(f_acm->ep_notify, d); + f_acm->ep_notify->desc = ep_desc(gadget, &acm_hs_notify_desc, + &acm_fs_notify_desc); + usb_ep_enable(f_acm->ep_notify); acm_start_ep(f_acm->ep_notify, acm_notify_complete, f_acm); @@ -454,6 +453,9 @@ static void acm_disable(struct usb_function *f) usb_ep_disable(f_acm->ep_out); usb_ep_disable(f_acm->ep_in); usb_ep_disable(f_acm->ep_notify); + f_acm->ep_out->desc = NULL; + f_acm->ep_in->desc = NULL; + f_acm->ep_notify->desc = NULL; if (f_acm->req_out) { free(f_acm->req_out->buf); diff --git a/drivers/usb/gadget/f_fastboot.c b/drivers/usb/gadget/f_fastboot.c index 8df0e3f331d1..e1eed5fa4cb4 100644 --- a/drivers/usb/gadget/f_fastboot.c +++ b/drivers/usb/gadget/f_fastboot.c @@ -320,13 +320,13 @@ static int fastboot_set_alt(struct usb_function *f, struct usb_composite_dev *cdev = f->config->cdev; struct usb_gadget *gadget = cdev->gadget; struct f_fastboot *f_fb = func_to_fastboot(f); - const struct usb_endpoint_descriptor *d; debug("%s: func: %s intf: %d alt: %d\n", __func__, f->name, interface, alt); - d = fb_ep_desc(gadget, &fs_ep_out, &hs_ep_out, &ss_ep_out); - ret = usb_ep_enable(f_fb->out_ep, d); + f_fb->out_ep->desc = fb_ep_desc(gadget, &fs_ep_out, &hs_ep_out, + &ss_ep_out); + ret = usb_ep_enable(f_fb->out_ep); if (ret) { puts("failed to enable out ep\n"); return ret; @@ -340,8 +340,8 @@ static int fastboot_set_alt(struct usb_function *f, } f_fb->out_req->complete = rx_handler_command; - d = fb_ep_desc(gadget, &fs_ep_in, &hs_ep_in, &ss_ep_in); - ret = usb_ep_enable(f_fb->in_ep, d); + f_fb->in_ep->desc = fb_ep_desc(gadget, &fs_ep_in, &hs_ep_in, &ss_ep_in); + ret = usb_ep_enable(f_fb->in_ep); if (ret) { puts("failed to enable in ep\n"); goto err; diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c index 7eb667c130d2..22a1352b6d2b 100644 --- a/drivers/usb/gadget/f_mass_storage.c +++ b/drivers/usb/gadget/f_mass_storage.c @@ -2159,7 +2159,8 @@ static int enable_endpoint(struct fsg_common *common, struct usb_ep *ep, int rc; ep->driver_data = common; - rc = usb_ep_enable(ep, d); + ep->desc = d; + rc = usb_ep_enable(ep); if (rc) ERROR(common, "can't enable %s, result %d\n", ep->name, rc); return rc; @@ -2206,10 +2207,12 @@ reset: /* Disable the endpoints */ if (fsg->bulk_in_enabled) { usb_ep_disable(fsg->bulk_in); + fsg->bulk_in->desc = NULL; fsg->bulk_in_enabled = 0; } if (fsg->bulk_out_enabled) { usb_ep_disable(fsg->bulk_out); + fsg->bulk_out->desc = NULL; fsg->bulk_out_enabled = 0; } diff --git a/drivers/usb/gadget/f_rockusb.c b/drivers/usb/gadget/f_rockusb.c index d679cdae97c8..37957b202f8c 100644 --- a/drivers/usb/gadget/f_rockusb.c +++ b/drivers/usb/gadget/f_rockusb.c @@ -202,6 +202,8 @@ static void rockusb_disable(struct usb_function *f) usb_ep_disable(f_rkusb->out_ep); usb_ep_disable(f_rkusb->in_ep); + f_rkusb->out_ep->desc = NULL; + f_rkusb->in_ep->desc = NULL; if (f_rkusb->out_req) { free(f_rkusb->out_req->buf); @@ -246,13 +248,12 @@ static int rockusb_set_alt(struct usb_function *f, unsigned int interface, struct usb_composite_dev *cdev = f->config->cdev; struct usb_gadget *gadget = cdev->gadget; struct f_rockusb *f_rkusb = func_to_rockusb(f); - const struct usb_endpoint_descriptor *d; debug("%s: func: %s intf: %d alt: %d\n", __func__, f->name, interface, alt); - d = rkusb_ep_desc(gadget, &fs_ep_out, &hs_ep_out); - ret = usb_ep_enable(f_rkusb->out_ep, d); + f_rkusb->out_ep->desc = rkusb_ep_desc(gadget, &fs_ep_out, &hs_ep_out); + ret = usb_ep_enable(f_rkusb->out_ep); if (ret) { printf("failed to enable out ep\n"); return ret; @@ -266,8 +267,8 @@ static int rockusb_set_alt(struct usb_function *f, unsigned int interface, } f_rkusb->out_req->complete = rx_handler_command; - d = rkusb_ep_desc(gadget, &fs_ep_in, &hs_ep_in); - ret = usb_ep_enable(f_rkusb->in_ep, d); + f_rkusb->in_ep->desc = rkusb_ep_desc(gadget, &fs_ep_in, &hs_ep_in); + ret = usb_ep_enable(f_rkusb->in_ep); if (ret) { printf("failed to enable in ep\n"); goto err; diff --git a/drivers/usb/gadget/f_sdp.c b/drivers/usb/gadget/f_sdp.c index cd2c282247ac..0bb386053258 100644 --- a/drivers/usb/gadget/f_sdp.c +++ b/drivers/usb/gadget/f_sdp.c @@ -625,12 +625,14 @@ static int sdp_set_alt(struct usb_function *f, unsigned intf, unsigned alt) debug("%s: intf: %d alt: %d\n", __func__, intf, alt); if (gadget_is_dualspeed(gadget) && gadget->speed == USB_SPEED_HIGH) { - result = usb_ep_enable(sdp->in_ep, &in_hs_desc); - result |= usb_ep_enable(sdp->out_ep, &out_hs_desc); + sdp->in_ep->desc = &in_hs_desc; + sdp->out_ep->desc = &out_hs_desc; } else { - result = usb_ep_enable(sdp->in_ep, &in_desc); - result |= usb_ep_enable(sdp->out_ep, &out_desc); + sdp->in_ep->desc = &in_hs_desc; + sdp->out_ep->desc = &out_hs_desc; } + result = usb_ep_enable(sdp->in_ep); + result |= usb_ep_enable(sdp->out_ep); if (result) return result; @@ -662,6 +664,8 @@ static void sdp_disable(struct usb_function *f) usb_ep_disable(sdp->in_ep); usb_ep_disable(sdp->out_ep); + sdp->in_ep->desc = NULL; + sdp->out_ep->desc = NULL; if (sdp->in_req) { free(sdp->in_req->buf); diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c index 540b9f882378..210537d51e92 100644 --- a/drivers/usb/gadget/f_thor.c +++ b/drivers/usb/gadget/f_thor.c @@ -909,16 +909,15 @@ static int thor_eps_setup(struct usb_function *f) struct usb_composite_dev *cdev = f->config->cdev; struct usb_gadget *gadget = cdev->gadget; struct thor_dev *dev = thor_func->dev; - struct usb_endpoint_descriptor *d; struct usb_request *req; struct usb_ep *ep; int result; ep = dev->in_ep; - d = ep_desc(gadget, &hs_in_desc, &fs_in_desc); - debug("(d)bEndpointAddress: 0x%x\n", d->bEndpointAddress); + ep->desc = ep_desc(gadget, &hs_in_desc, &fs_in_desc); + debug("(d)bEndpointAddress: 0x%x\n", ep->desc->bEndpointAddress); - result = usb_ep_enable(ep, d); + result = usb_ep_enable(ep); if (result) goto err; @@ -933,10 +932,10 @@ static int thor_eps_setup(struct usb_function *f) req->complete = thor_rx_tx_complete; dev->in_req = req; ep = dev->out_ep; - d = ep_desc(gadget, &hs_out_desc, &fs_out_desc); - debug("(d)bEndpointAddress: 0x%x\n", d->bEndpointAddress); + ep->desc = ep_desc(gadget, &hs_out_desc, &fs_out_desc); + debug("(d)bEndpointAddress: 0x%x\n", ep->desc->bEndpointAddress); - result = usb_ep_enable(ep, d); + result = usb_ep_enable(ep); if (result) goto err_free_in_req; @@ -951,10 +950,10 @@ static int thor_eps_setup(struct usb_function *f) dev->out_req = req; /* ACM control EP */ ep = dev->int_ep; - d = ep_desc(gadget, &hs_int_desc, &fs_int_desc); - debug("(d)bEndpointAddress: 0x%x\n", d->bEndpointAddress); + ep->desc = ep_desc(gadget, &hs_int_desc, &fs_int_desc); + debug("(d)bEndpointAddress: 0x%x\n", ep->desc->bEndpointAddress); - result = usb_ep_enable(ep, d); + result = usb_ep_enable(ep); if (result) goto err; -- 2.53.0