From patchwork Wed Jul 22 17:07:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11678981 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 013E013B6 for ; Wed, 22 Jul 2020 17:08:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DCDDF208E4 for ; Wed, 22 Jul 2020 17:08:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UH46zeob" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731435AbgGVRIH (ORCPT ); Wed, 22 Jul 2020 13:08:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48424 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726666AbgGVRIG (ORCPT ); Wed, 22 Jul 2020 13:08:06 -0400 Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 29725C0619DC; Wed, 22 Jul 2020 10:08:06 -0700 (PDT) Received: by mail-wr1-x441.google.com with SMTP id r12so2590994wrj.13; Wed, 22 Jul 2020 10:08:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=hTkSYkc9gpH4QzORDGHTScWkiYwqJXVWEMIKvBCkKyc=; b=UH46zeobCwaJFYyPwZvWcK6ymFrftwuWWkiLwaiVBLEBoWEZdTu20LPxYhjHVqJyLH rGZrIdY4g0ta6Rjfynx/qGeV0V5zEwxjhv+lf7S4eV5kJFUe2SqOl4iPpQgDdj1UDsnI tUhzsPl3R5CVYBjeXQjn+BySZxex3c8jGKgS8zAtCSZsGKQsUSNP2+G9JR2W+o6IKZL/ XbVBVh3zIvTlNjItu6V9YlWsngqTXi4Qs1JQCAO/2wKfQeJhWc25aGqj1fE17JpIStG4 j347/afDPGSKWRgDYX7LQb8lFgxLenQADUm6ywMOy69UJ7UqV4OBEgcHsfHbHdYj25ry Iq6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=hTkSYkc9gpH4QzORDGHTScWkiYwqJXVWEMIKvBCkKyc=; b=ckd/I1IWlE44HdmJgE8yDfdCZABdxws6Gs8+XyGEEbqXZxVaOsf4uNrvZspGapXyQQ HuX1Gu/q/5mHnbQwI2j6CGDnjEzjpyyLinQHmLRG3U7O2z6VnPDWgL/ONDez1H3ainbs 8XMDqqlZ8scFnvP2PSvGc8Za5ty8PMS0/QClImvDF4taS2VvK/uARz3egPHA1NAIXcLb YV9irDHT2wqKl3ogaeJZjJRsLfSckWdYTvJd+xHIXoUGeuT08jUE4I6P/vEoYbXpb3qs pR6vTdAzH0aXLfoLbBEcxAhAkqlP67GbZxMnBOuk2uaIqPRZyhJObTG3jN+R2PjsDP9y fMDA== X-Gm-Message-State: AOAM532z0Fx6SgHZ/jdj1Iw0lYGS/eJkzb7K5uYvVsOR327FzoPjueNe zQ2Cx2XDYjukzbXXITxyKDPq1BuJ X-Google-Smtp-Source: ABdhPJwTOh2rhjvGCrOA/uauW1xqhc8MkWy54c8dlod8HBoEWMw25Q2JCHPHEty3EIli/1YMXIr6ag== X-Received: by 2002:a5d:474f:: with SMTP id o15mr495644wrs.306.1595437681522; Wed, 22 Jul 2020 10:08:01 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id 133sm392960wme.5.2020.07.22.10.07.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2020 10:08:01 -0700 (PDT) From: Al Cooper To: linux-kernel@vger.kernel.org Cc: Al Cooper , devicetree@vger.kernel.org, Felipe Balbi , Florian Fainelli , Greg Kroah-Hartman , linux-usb@vger.kernel.org, Rob Herring , Sasi Kumar Subject: [PATCH v3 1/7] dt-bindings: usb: bdc: Update compatible strings Date: Wed, 22 Jul 2020 13:07:40 -0400 Message-Id: <20200722170746.5222-2-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200722170746.5222-1-alcooperx@gmail.com> References: <20200722170746.5222-1-alcooperx@gmail.com> Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Remove "brcm,bdc-v0.16" because it was never used on any system. Add "brcm,bdc-udc-v2" which exists for any STB system with BDC. Signed-off-by: Al Cooper Acked-by: Florian Fainelli Acked-by: Rob Herring --- Documentation/devicetree/bindings/usb/brcm,bdc.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/brcm,bdc.txt b/Documentation/devicetree/bindings/usb/brcm,bdc.txt index 63e63af3bf59..c9f52b97cef1 100644 --- a/Documentation/devicetree/bindings/usb/brcm,bdc.txt +++ b/Documentation/devicetree/bindings/usb/brcm,bdc.txt @@ -4,7 +4,7 @@ Broadcom USB Device Controller (BDC) Required properties: - compatible: must be one of: - "brcm,bdc-v0.16" + "brcm,bdc-udc-v2" "brcm,bdc" - reg: the base register address and length - interrupts: the interrupt line for this controller @@ -21,7 +21,7 @@ On Broadcom STB platforms, these properties are required: Example: bdc@f0b02000 { - compatible = "brcm,bdc-v0.16"; + compatible = "brcm,bdc-udc-v2"; reg = <0xf0b02000 0xfc4>; interrupts = <0x0 0x60 0x0>; phys = <&usbphy_0 0x0>; From patchwork Wed Jul 22 17:07:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11678977 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0C6111510 for ; Wed, 22 Jul 2020 17:08:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E80892176B for ; Wed, 22 Jul 2020 17:08:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="vYcQNfPY" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727818AbgGVRIH (ORCPT ); Wed, 22 Jul 2020 13:08:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48426 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728780AbgGVRIG (ORCPT ); Wed, 22 Jul 2020 13:08:06 -0400 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 321ABC0619E0; Wed, 22 Jul 2020 10:08:06 -0700 (PDT) Received: by mail-wr1-x42b.google.com with SMTP id f7so2639130wrw.1; Wed, 22 Jul 2020 10:08:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=SM+ijn28RuEDD74oyOW/2/H9Sdykkw8SfTcfavc4Cok=; b=vYcQNfPY2mksJQVYme6rLpHSHIlGgYE9lq8MRKdDUPOh9y3hoPtOMH0HBmgZA8ytoO DT0u0M0nJtqfgDpsr2CqRh8vAobCadMdrkOWKFNNJFna+Gtt8wEca9b8xwtdH+lz205t FWrYXqWbQYF1981Dev2lEJSpBfmcquaAvxhiiRA3fnH3Ve+Mp932JlvA12L5nMnzkpkQ sxWxUKsppOtPxsDwDRG3LzAhQs7ig8jrGVv9yoj0rNNNUjMKhAOnyqDMyoBgzXtk4Zez wfj8uHal3eGYCQxhtcC8AXW5aG8rG48tmPPXQkjxFAFpVP5OhOTheaqFlNrMapeibY5R CCvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=SM+ijn28RuEDD74oyOW/2/H9Sdykkw8SfTcfavc4Cok=; b=R7bIdjtNIn9OWP2HnLOH3ATLqwj6ZuHF1v7pcqHNR8f7XFe41ZNC82kKfCVhucTFlH Rvn/JB80kZ/7PGTnHIOfmkFJ+HzMi1SNXTvl4D9mNTgJnw8qt7LZ7n5HrRD80yY5dJho zFkM/LnkewvNA7qPoWRparM1Tm6gOi/ztClR/L/bZfJpCSqpWKxlTeRpmZOurMrXk372 67cBhGS5gTJ1KS4m1Da9whLO8uVF7gu4ViuSpejnGdEZiVV970pDDMRQU+p3aB7L7nTg bwfk340eUZuz5/Hcbk8QrAnCN2LXRX9Srlfbf0Gm3RPcqbJ9f1QVLXNqxqLF8dHfN3OZ +jgA== X-Gm-Message-State: AOAM532jTBNLgBdgPcTiFXNPnmkfVQpM1RE1U2F3fCcLtTf3CUuzt49T CKiLtNXgVrtGX8ln3lgO/UdHtCCp X-Google-Smtp-Source: ABdhPJzqP4gquP5sCjLbg8UuFYqW+hAQiPseNDJ+ZCquHVehhRFhaPUeDzFbD9nXqMwnTi04DRIBDw== X-Received: by 2002:adf:ecc8:: with SMTP id s8mr452778wro.317.1595437683445; Wed, 22 Jul 2020 10:08:03 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id 133sm392960wme.5.2020.07.22.10.08.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2020 10:08:03 -0700 (PDT) From: Al Cooper To: linux-kernel@vger.kernel.org Cc: Al Cooper , devicetree@vger.kernel.org, Felipe Balbi , Florian Fainelli , Greg Kroah-Hartman , linux-usb@vger.kernel.org, Rob Herring , Sasi Kumar Subject: [PATCH v3 2/7] usb: bdc: Add compatible string for new style USB DT nodes Date: Wed, 22 Jul 2020 13:07:41 -0400 Message-Id: <20200722170746.5222-3-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200722170746.5222-1-alcooperx@gmail.com> References: <20200722170746.5222-1-alcooperx@gmail.com> Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Add compatible string for some newer boards that only have this as their match sting. Remove unused compatible string "brcm,bdc-v0.16". Signed-off-by: Al Cooper Acked-by: Florian Fainelli --- drivers/usb/gadget/udc/bdc/bdc_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/gadget/udc/bdc/bdc_core.c b/drivers/usb/gadget/udc/bdc/bdc_core.c index 02a3a774670b..18d510fc02fb 100644 --- a/drivers/usb/gadget/udc/bdc/bdc_core.c +++ b/drivers/usb/gadget/udc/bdc/bdc_core.c @@ -629,7 +629,7 @@ static SIMPLE_DEV_PM_OPS(bdc_pm_ops, bdc_suspend, bdc_resume); static const struct of_device_id bdc_of_match[] = { - { .compatible = "brcm,bdc-v0.16" }, + { .compatible = "brcm,bdc-udc-v2" }, { .compatible = "brcm,bdc" }, { /* sentinel */ } }; From patchwork Wed Jul 22 17:07:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11678979 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 952D914E3 for ; Wed, 22 Jul 2020 17:08:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7BD6A208E4 for ; Wed, 22 Jul 2020 17:08:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nSEyjz5F" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732151AbgGVRIb (ORCPT ); Wed, 22 Jul 2020 13:08:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48428 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731727AbgGVRIH (ORCPT ); Wed, 22 Jul 2020 13:08:07 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 052ECC0619DC; Wed, 22 Jul 2020 10:08:07 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id f2so2611241wrp.7; Wed, 22 Jul 2020 10:08:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=g18P77ClrSoGOpqfcLBFSJDl+A/gIGkG8Ir+N9NqqJw=; b=nSEyjz5FP/U+3rmYDhvNeGv7oE2TAUFPpMYKEBEmYFv7YvpZbB96/2oYZSWpZzbgmF a9sBl3Az7/+kF4q2OFNcc8CTry/kHR+qUuyfXqQBesRCoX1Rh9Q/jYTWwZ9ZGzF1Y2rx /OD6+6sx1nKOw3+/SgwIaSqRH99k80P7c4OPlMLyvEPpbFvKTRiGi7l7sovLAsgPnOXF k+vqIObCRrVtgW6ZUc0EmnPo8oU9OXOHlS1Kvs813azo5FFDKphSGjn8vpQixKahbS6m JKvoCaqwnfGy4O1n4qM9/f5+fuGF/zYBMbHcNqe9RM2SidMy4QmKpVGiRA8fJhM/Va+G ZFxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=g18P77ClrSoGOpqfcLBFSJDl+A/gIGkG8Ir+N9NqqJw=; b=aP0zCj65/4+2kBVZW/oLdlqMsGSoMJAnC5yp2TW1c6C+ubdyuJCAU+CM8zpftZjvWh txAOQ+74C4yOt7gJnJpzNj8JL2Zg/aIGAAgsofB+FX2hLdYWKHvxyYlCedthryqQQtUP MQl+Deb5na3RwQCiHyustjNgaeSLWSTPwtVtQHgDBY9N/KrjmetyFgDxyGKd87xASB/E zpV/39xCZFwMRlMBQ1DSygmRcu+vgt2/3nLlHkl+PAZ8SpfgHKODQQ6kBa4B8tPvmXRO KRSIEloi9bxRqrI/5lc8Ic6UU4gUclEQFmEDd65uGW4pnCPyvrvMmnpwUHaqTMuMQoQ6 P8Ig== X-Gm-Message-State: AOAM532yJV7BcGc1vZnApxH8GGFQQNlYS5w/OiP86I4k9dJsKoN6X7ao OOCXeJbu3qLTrhsIh1Hwafo3X51M X-Google-Smtp-Source: ABdhPJwNOnt5j+JGoemLnlgVcofZEpLjrNQT62U75VZfBKcwSQq7gfmYEVyi/AGpDhE1zGszalESmQ== X-Received: by 2002:a5d:4144:: with SMTP id c4mr492145wrq.200.1595437685393; Wed, 22 Jul 2020 10:08:05 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id 133sm392960wme.5.2020.07.22.10.08.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2020 10:08:04 -0700 (PDT) From: Al Cooper To: linux-kernel@vger.kernel.org Cc: Sasi Kumar , Al Cooper , devicetree@vger.kernel.org, Felipe Balbi , Florian Fainelli , Greg Kroah-Hartman , linux-usb@vger.kernel.org, Rob Herring Subject: [PATCH v3 3/7] bdc: Fix bug causing crash after multiple disconnects Date: Wed, 22 Jul 2020 13:07:42 -0400 Message-Id: <20200722170746.5222-4-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200722170746.5222-1-alcooperx@gmail.com> References: <20200722170746.5222-1-alcooperx@gmail.com> Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org From: Sasi Kumar Multiple connects/disconnects can cause a crash on the second disconnect. The driver had a problem where it would try to send endpoint commands after it was disconnected which is not allowed by the hardware. The fix is to only allow the endpoint commands when the endpoint is connected. This will also fix issues that showed up when using configfs to create gadgets. Signed-off-by: Sasi Kumar Signed-off-by: Al Cooper Acked-by: Florian Fainelli --- drivers/usb/gadget/udc/bdc/bdc_core.c | 4 ++++ drivers/usb/gadget/udc/bdc/bdc_ep.c | 16 ++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/usb/gadget/udc/bdc/bdc_core.c b/drivers/usb/gadget/udc/bdc/bdc_core.c index 18d510fc02fb..b70b438efff4 100644 --- a/drivers/usb/gadget/udc/bdc/bdc_core.c +++ b/drivers/usb/gadget/udc/bdc/bdc_core.c @@ -282,6 +282,7 @@ static void bdc_mem_init(struct bdc *bdc, bool reinit) * in that case reinit is passed as 1 */ if (reinit) { + int i; /* Enable interrupts */ temp = bdc_readl(bdc->regs, BDC_BDCSC); temp |= BDC_GIE; @@ -291,6 +292,9 @@ static void bdc_mem_init(struct bdc *bdc, bool reinit) /* Initialize SRR to 0 */ memset(bdc->srr.sr_bds, 0, NUM_SR_ENTRIES * sizeof(struct bdc_bd)); + /* clear ep flags to avoid post disconnect stops/deconfigs */ + for (i = 1; i < bdc->num_eps; ++i) + bdc->bdc_ep_array[i]->flags = 0; } else { /* One time initiaization only */ /* Enable status report function pointers */ diff --git a/drivers/usb/gadget/udc/bdc/bdc_ep.c b/drivers/usb/gadget/udc/bdc/bdc_ep.c index d49c6dc1082d..9ddc0b4e92c9 100644 --- a/drivers/usb/gadget/udc/bdc/bdc_ep.c +++ b/drivers/usb/gadget/udc/bdc/bdc_ep.c @@ -615,7 +615,6 @@ int bdc_ep_enable(struct bdc_ep *ep) } bdc_dbg_bd_list(bdc, ep); /* only for ep0: config ep is called for ep0 from connect event */ - ep->flags |= BDC_EP_ENABLED; if (ep->ep_num == 1) return ret; @@ -759,10 +758,13 @@ static int ep_dequeue(struct bdc_ep *ep, struct bdc_req *req) __func__, ep->name, start_bdi, end_bdi); dev_dbg(bdc->dev, "ep_dequeue ep=%p ep->desc=%p\n", ep, (void *)ep->usb_ep.desc); - /* Stop the ep to see where the HW is ? */ - ret = bdc_stop_ep(bdc, ep->ep_num); - /* if there is an issue with stopping ep, then no need to go further */ - if (ret) + /* if still connected, stop the ep to see where the HW is ? */ + if (!(bdc_readl(bdc->regs, BDC_USPC) & BDC_PST_MASK)) { + ret = bdc_stop_ep(bdc, ep->ep_num); + /* if there is an issue, then no need to go further */ + if (ret) + return 0; + } else return 0; /* @@ -1911,7 +1913,9 @@ static int bdc_gadget_ep_disable(struct usb_ep *_ep) __func__, ep->name, ep->flags); if (!(ep->flags & BDC_EP_ENABLED)) { - dev_warn(bdc->dev, "%s is already disabled\n", ep->name); + if (bdc->gadget.speed != USB_SPEED_UNKNOWN) + dev_warn(bdc->dev, "%s is already disabled\n", + ep->name); return 0; } spin_lock_irqsave(&bdc->lock, flags); From patchwork Wed Jul 22 17:07:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11678969 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7C94813B6 for ; Wed, 22 Jul 2020 17:08:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 63BA2207E8 for ; Wed, 22 Jul 2020 17:08:14 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="awyK+/J/" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731569AbgGVRIK (ORCPT ); Wed, 22 Jul 2020 13:08:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48436 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728780AbgGVRIJ (ORCPT ); Wed, 22 Jul 2020 13:08:09 -0400 Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com [IPv6:2a00:1450:4864:20::343]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D496AC0619DC; Wed, 22 Jul 2020 10:08:08 -0700 (PDT) Received: by mail-wm1-x343.google.com with SMTP id o8so2572559wmh.4; Wed, 22 Jul 2020 10:08:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=FfMzlhpuKdKcXMybci9PDGAk8L1HINtrLq53dONpTi0=; b=awyK+/J/ZexeObtbQq75to+n6QIeYQKQ3PxYSN/lmajMIq7ooFFNwAT6nGL2CYXltT 6hHY6AVFjNeMmjvC7yjdPgL5ihqpiM6efKREqhfeXHs1Wky5eYh0dplUQcW77PFigqB6 LLxBfsGz3Oz91lQnOS6Q4JdrponW1Jw+IW5fj13wix/qQLVwN5w91FuWzzW45iqme7yr 7u3/W+22phY408cPcjmQtKDD6bNqZq7CGz6VlShJtPB3chONRdCBn5WXrpY6dld9IIB6 i4kY0J8PHHvx8zqQ1X8bb3L7x40aA/ptg8CSnsXxDzvY2151G8PWT1y83IKMOpH15W4A Aw0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=FfMzlhpuKdKcXMybci9PDGAk8L1HINtrLq53dONpTi0=; b=bVywbfqq4e5h1BNu0po0kxK100VJ6npk/2zdr991Xs6C/Mdhhj7ZB8143NeB+BCjde onk6k9wqiByNpI9eD4EQkaGS86vEVSF6d3HQh0Bta2tVg3vY1VT/CUTimLzH/NlmmfoF m6OYggl4LqAGw/xjc59ly0LqBt2siP5miDWMcUqCdzhca6sUR6T/UFVWO8kyHe3woTuF kuzrq8S6xisj510QeqL1eNmh2kKyM77kHmsrgdd/WG3DU9AQyiHu1+NuDu+qQbasGttO QGkGU1LcMM2Lfvr9I7t9EWsHTz30BbBtgCjwe7sV9eRKuIjPRIhL5QF/60x/thjEuO5J nlfA== X-Gm-Message-State: AOAM531FD59Bz/WB9UYIw/+MRQ4hXPeAJKhJBETXzmO+pjYyugvLiQyh nhHn91PiwPFY3dc1BxPShzEin/xu X-Google-Smtp-Source: ABdhPJznzR6Kt1wjtl/5EjwZA6R5ysPgwL70usJqg6/MvUhLYuKe2pAFNbHQwNvt/03EtPOPAOkqOA== X-Received: by 2002:a1c:7402:: with SMTP id p2mr528060wmc.117.1595437687275; Wed, 22 Jul 2020 10:08:07 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id 133sm392960wme.5.2020.07.22.10.08.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2020 10:08:06 -0700 (PDT) From: Al Cooper To: linux-kernel@vger.kernel.org Cc: Al Cooper , devicetree@vger.kernel.org, Felipe Balbi , Florian Fainelli , Greg Kroah-Hartman , linux-usb@vger.kernel.org, Rob Herring , Sasi Kumar Subject: [PATCH v3 4/7] usb: bdc: Adb shows offline after resuming from S2 Date: Wed, 22 Jul 2020 13:07:43 -0400 Message-Id: <20200722170746.5222-5-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200722170746.5222-1-alcooperx@gmail.com> References: <20200722170746.5222-1-alcooperx@gmail.com> Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org On Android systems, After temporarily putting device to S2 by short pressing the power button on the remote, the display turns off. Then press the power button to turn the display back up. Adb devices would show the devices is offline. It needs a physical disconnect of the usb cable or power cycle to bring the device back online. The device is operational otherwise. The problem is that during S2 resume, the ADB gadget driver could not link back with the BDC driver because the endpoint flags were cleared. The fix is to clear the endpoint flags for the disconnect case only and not for S2 exit. Signed-off-by: Al Cooper Acked-by: Florian Fainelli --- drivers/usb/gadget/udc/bdc/bdc_core.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/usb/gadget/udc/bdc/bdc_core.c b/drivers/usb/gadget/udc/bdc/bdc_core.c index b70b438efff4..2c2f7aef7ba7 100644 --- a/drivers/usb/gadget/udc/bdc/bdc_core.c +++ b/drivers/usb/gadget/udc/bdc/bdc_core.c @@ -292,9 +292,13 @@ static void bdc_mem_init(struct bdc *bdc, bool reinit) /* Initialize SRR to 0 */ memset(bdc->srr.sr_bds, 0, NUM_SR_ENTRIES * sizeof(struct bdc_bd)); - /* clear ep flags to avoid post disconnect stops/deconfigs */ - for (i = 1; i < bdc->num_eps; ++i) - bdc->bdc_ep_array[i]->flags = 0; + /* + * clear ep flags to avoid post disconnect stops/deconfigs but + * not during S2 exit + */ + if (!bdc->gadget.speed) + for (i = 1; i < bdc->num_eps; ++i) + bdc->bdc_ep_array[i]->flags = 0; } else { /* One time initiaization only */ /* Enable status report function pointers */ From patchwork Wed Jul 22 17:07:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11678973 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EF38C13B6 for ; Wed, 22 Jul 2020 17:08:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D7D21208E4 for ; Wed, 22 Jul 2020 17:08:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fARYP1yx" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732045AbgGVRIO (ORCPT ); Wed, 22 Jul 2020 13:08:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48442 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732010AbgGVRIL (ORCPT ); Wed, 22 Jul 2020 13:08:11 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF64BC0619DC; Wed, 22 Jul 2020 10:08:10 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id g10so4781169wmc.1; Wed, 22 Jul 2020 10:08:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=mj2d0jlZHTrTuhnFNCC1PkNjdWcEHuG1YHIYu31J1mI=; b=fARYP1yxhLR7Wx3So2ItMo9bgxIUxzOu2IYsDAmgR2uypbp/Rb0dx9rzKOe+0eknHF EB31Ayz5u36CmiAQEfZ4Sob4bSBNZF3010b09opdwt7S+1KyLmg5+lpBJP54BgexHjWe HyujqJCaxBt9WTqTJFoBjermvsoNaDwIzXpOedlbHxqSbpgH07jFOMy/fAYxwVqLIK7m 5q54HdymeuYuC4uSXV8yv9/GtFxtvFNto8ov5xNMgkSIkeySvHAgSbszYKhTKEbzF6lo FmYC5+gOM5DmHKNtY3C3T7JjShmlh6tfe5Tmw/EvQTso58+ndzdrrL/jdVkn5FCHC7pZ 5h7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=mj2d0jlZHTrTuhnFNCC1PkNjdWcEHuG1YHIYu31J1mI=; b=jA3/hDy7uOhUU3d0ruGAXLtpeIvQDB4We88d9WEwW2kM2wju4GA9CBvlVqEey0RLwO 2OBfN0BSwdtDn2Pew+UmsZPScDTj7uNCH9/KjLlHEeK++UJSsnZiBUhOKc7h8aDL68PI J7QuMuaVUkS0+g60I6Qxyq1YQAg18n6GrILLg39zrBIitEnfLjuliRdcHJ5KdgeP8oAB cgmMV6gOHSzRhxRHXK80GRpUOkRvaIOmyo7BQjuP0VvhjZnj/3cwg58rttTMiNVIJAYe UKahhYxeqdXF2lUmI4A/ugIdc4knU2fUHI9yX0leclYHDMngF1gQKPn2SOUDmH6mpiAx GRhA== X-Gm-Message-State: AOAM531a+pxyuwT8iG0mScxiTU2yEwhtNqBZmxLFBlQ8uSzGuEqAYIdz +7+ww6g+wulfHODguZk/b9Z2xRZy X-Google-Smtp-Source: ABdhPJyUtjPjtTc2vJEa6UaxSVqCi95SwQq/fUq7rR10npA0rpc7puaE+RzXGePMIwq2cd+ozKS5nw== X-Received: by 2002:a7b:cb92:: with SMTP id m18mr548766wmi.94.1595437689204; Wed, 22 Jul 2020 10:08:09 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id 133sm392960wme.5.2020.07.22.10.08.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2020 10:08:08 -0700 (PDT) From: Al Cooper To: linux-kernel@vger.kernel.org Cc: Al Cooper , devicetree@vger.kernel.org, Felipe Balbi , Florian Fainelli , Greg Kroah-Hartman , linux-usb@vger.kernel.org, Rob Herring , Sasi Kumar Subject: [PATCH v3 5/7] usb: bdc: driver runs out of buffer descriptors on large ADB transfers Date: Wed, 22 Jul 2020 13:07:44 -0400 Message-Id: <20200722170746.5222-6-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200722170746.5222-1-alcooperx@gmail.com> References: <20200722170746.5222-1-alcooperx@gmail.com> Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Version v1.0.40 of the Android host ADB software increased maximum transfer sizes from 256K to 1M. Since the STB ADB gadget driver requests only 16K at a time, the BDC driver ran out of buffer descriptors (BDs) if the queuing happens faster than the incoming 16K transfers. This issue is fixed by doubling the number of BDs that can be queued so that the entire 1M request can be queued without running out of buffers. Signed-off-by: Al Cooper Acked-by: Florian Fainelli --- drivers/usb/gadget/udc/bdc/bdc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/gadget/udc/bdc/bdc.h b/drivers/usb/gadget/udc/bdc/bdc.h index 6e1e881dc51e..ac75e25c3b6a 100644 --- a/drivers/usb/gadget/udc/bdc/bdc.h +++ b/drivers/usb/gadget/udc/bdc/bdc.h @@ -44,7 +44,7 @@ #define NUM_SR_ENTRIES 64 /* Num of bds per table */ -#define NUM_BDS_PER_TABLE 32 +#define NUM_BDS_PER_TABLE 64 /* Num of tables in bd list for control,bulk and Int ep */ #define NUM_TABLES 2 From patchwork Wed Jul 22 17:07:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11678975 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 948DB14E3 for ; Wed, 22 Jul 2020 17:08:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7B517207BB for ; Wed, 22 Jul 2020 17:08:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="U4T9yBfN" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732110AbgGVRIY (ORCPT ); Wed, 22 Jul 2020 13:08:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728780AbgGVRIN (ORCPT ); Wed, 22 Jul 2020 13:08:13 -0400 Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB8D4C0619DC; Wed, 22 Jul 2020 10:08:12 -0700 (PDT) Received: by mail-wr1-x444.google.com with SMTP id y3so2626675wrl.4; Wed, 22 Jul 2020 10:08:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=KBryyAOXlIEM72mjj0Ie/wtlsW0303YjImjOaYxqFM8=; b=U4T9yBfN/KiRrtZOD5RskdJoL/IGZtn1OvZEOq3koDtpOobOycG1IXWQaDfZXdi6su QOuiucxfmK0PYDZLlgaNXlhJpZ783tRGRGNhPKgffGw0srR6uaLOeCUbnqJx+3mgkDhK jcxpFYtEjJoSMKQDISeVOLEsL56sSTmEZqEjcCSfo22kLtc4KjksPc3jzoG2cA3UEfhh p0bdNWTS//HDqst/j3vnbS86idF3NiI9uN63czNaOpk8Fi4qp2ZsZlctRKT5/m3RkYFy bAlWTf3zwjhXJix7VRvvi68WHYUuZEbtmVeD64uHRkLPVPm0mXj96GFm1tZoVYB1nwUb a6eQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=KBryyAOXlIEM72mjj0Ie/wtlsW0303YjImjOaYxqFM8=; b=t0RZwTHRpNLQK5D4vqRTAF6ntF3C9SG9D2GA7lbup68VZTafE/LKgf9YXLRq951swG b9sUzWSlmEUH9tFSkG+h86e2r2S5jEW1Fhi8x+wS/vjl/rr1lVWgB3QMVCA8U6VFdcNX yb7AC6phApzaO3/LmUL1UbbzwutOc8kyaH6J8fZRw0ucZFdL5Z3ilFqvZCKjanvJH0j3 SNPKBCcgxmw4Co0ImF+0Qj9TqmqjWEOl8MXVCxKqjGY7ZCCyUdk3yGKdNa6iBd6Fv9Xb PV0jzoVxgc48O2cXlilZ6fN9Oq781PFZfDFILO9TYzr+jYyz8qIOTLi61vR9JOjgRPlW NmIA== X-Gm-Message-State: AOAM533MXZPz5/t9Vb+GAgYfQ+tfihurHxDfFr59y8oNm53WARbroZSA 9wF/Gr5JjCW/vqvPlYTrEaoI/6CC X-Google-Smtp-Source: ABdhPJza494HfVbClB6Vrv/wo9nx4caRRfzl3QhiCCUkTA+6OJCw83nMMaBdr46d3fLnoqaIkKrX0g== X-Received: by 2002:a5d:4a45:: with SMTP id v5mr497954wrs.228.1595437691173; Wed, 22 Jul 2020 10:08:11 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id 133sm392960wme.5.2020.07.22.10.08.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2020 10:08:10 -0700 (PDT) From: Al Cooper To: linux-kernel@vger.kernel.org Cc: Danesh Petigara , Al Cooper , devicetree@vger.kernel.org, Felipe Balbi , Florian Fainelli , Greg Kroah-Hartman , linux-usb@vger.kernel.org, Rob Herring , Sasi Kumar Subject: [PATCH v3 6/7] usb: bdc: Halt controller on suspend Date: Wed, 22 Jul 2020 13:07:45 -0400 Message-Id: <20200722170746.5222-7-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200722170746.5222-1-alcooperx@gmail.com> References: <20200722170746.5222-1-alcooperx@gmail.com> Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org From: Danesh Petigara GISB bus error kernel panics have been observed during S2 transition tests on the 7271t platform. The errors are a result of the BDC interrupt handler trying to access BDC register space after the system's suspend callbacks have completed. Adding a suspend hook to the BDC driver that halts the controller before S2 entry thus preventing unwanted access to the BDC register space during this transition. Signed-off-by: Danesh Petigara Signed-off-by: Al Cooper Acked-by: Florian Fainelli --- drivers/usb/gadget/udc/bdc/bdc_core.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/usb/gadget/udc/bdc/bdc_core.c b/drivers/usb/gadget/udc/bdc/bdc_core.c index 2c2f7aef7ba7..c1650247ea39 100644 --- a/drivers/usb/gadget/udc/bdc/bdc_core.c +++ b/drivers/usb/gadget/udc/bdc/bdc_core.c @@ -607,9 +607,14 @@ static int bdc_remove(struct platform_device *pdev) static int bdc_suspend(struct device *dev) { struct bdc *bdc = dev_get_drvdata(dev); + int ret; - clk_disable_unprepare(bdc->clk); - return 0; + /* Halt the controller */ + ret = bdc_stop(bdc); + if (!ret) + clk_disable_unprepare(bdc->clk); + + return ret; } static int bdc_resume(struct device *dev) From patchwork Wed Jul 22 17:07:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11678971 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1F54113B6 for ; Wed, 22 Jul 2020 17:08:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 077DE207E8 for ; Wed, 22 Jul 2020 17:08:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LPjQ1rMW" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732088AbgGVRIR (ORCPT ); Wed, 22 Jul 2020 13:08:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48456 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732062AbgGVRIP (ORCPT ); Wed, 22 Jul 2020 13:08:15 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B5F07C0619DC; Wed, 22 Jul 2020 10:08:14 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id 88so2630013wrh.3; Wed, 22 Jul 2020 10:08:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/f+3CAnVUu/WjuKg7piRBh88qTkT5e7hVX0fEyS5bwY=; b=LPjQ1rMW3KUqOFtgB3vrPVE9Sn6xRahSMWV9fihcIJqpX7NsQq2hm8zVigCnCAP40y AIJa9NhAf5pnxIAqytIJZQSu1nCx02XXgjXFnKulbqk8vx/U8+ru7I53HpkKFBrX58jw HzdTjIL2ZDUg6zl1Eqx7eBYUpkspH7P9a5Srvxhlz+1mGMEIG/cWk067IVjLSbXrVbiZ Au9vrrv8Ha5SIX4q4R46LXdfheE2fjxA+dewBZ2/6oJqkZNwj06QnErpATE8MAnu/1bE vqPR++e24Ub0RkhjNxZdWE1grDGLgoeccbhLSe8kaUqrpHznZMtoRDJfHOYKrwvcWnI/ T1Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=/f+3CAnVUu/WjuKg7piRBh88qTkT5e7hVX0fEyS5bwY=; b=D97jnLz2K8kOUQnCOqazLFvdllgTL9UuvaFwBpFX7TiituB6MgNgBAIynFR/CsRf/b aFT65lZYYsjBFHX3846WjH3pJRPLMODHO3jjR4TSuLpL1zFvlXsRrJ5c3SaGMjdS9Fpi q3Oo1kbYdjeMI06Gns9NDRRo1LXAlWorviaQ6KLYqVTpfJcI6+weIjfRMf3wCsRf43LP FxPHrCUlXyQ3OuHPTFC/AYk5UsrjGhBXw0p5zA3M0eZn1z3KmG3MZAbhwJoWEOTPb5ha r82P/uST2zBt75+wjoJRq9Jggt7Mu88wqrWju5ju0zUEVwzgAFLG61vTqdPQc3gAk8+C AxBg== X-Gm-Message-State: AOAM532euvTshNe6q57k1IhG2n2e3C6Rdl5UZMs0tsnyGCKOl8ricYiy Y2T3GlVv9Oj14UTgxBGmqMSZTQhR X-Google-Smtp-Source: ABdhPJx3dWTAnp+oEPCdkWSM21p/Re1l+8HQDMp+BzYjHY48DxTeiqtREbtrDMDERZuUV3imK4fwfg== X-Received: by 2002:a5d:610a:: with SMTP id v10mr417496wrt.8.1595437693205; Wed, 22 Jul 2020 10:08:13 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id 133sm392960wme.5.2020.07.22.10.08.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2020 10:08:12 -0700 (PDT) From: Al Cooper To: linux-kernel@vger.kernel.org Cc: Florian Fainelli , Al Cooper , devicetree@vger.kernel.org, Felipe Balbi , Florian Fainelli , Greg Kroah-Hartman , linux-usb@vger.kernel.org, Rob Herring , Sasi Kumar Subject: [PATCH v3 7/7] usb: bdc: Use devm_clk_get_optional() Date: Wed, 22 Jul 2020 13:07:46 -0400 Message-Id: <20200722170746.5222-8-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200722170746.5222-1-alcooperx@gmail.com> References: <20200722170746.5222-1-alcooperx@gmail.com> Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org From: Florian Fainelli The BDC clock is optional and we may get an -EPROBE_DEFER error code which would not be propagated correctly, fix this by using devm_clk_get_optional(). Signed-off-by: Florian Fainelli Signed-off-by: Al Cooper --- drivers/usb/gadget/udc/bdc/bdc_core.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/usb/gadget/udc/bdc/bdc_core.c b/drivers/usb/gadget/udc/bdc/bdc_core.c index c1650247ea39..f6e4026618e8 100644 --- a/drivers/usb/gadget/udc/bdc/bdc_core.c +++ b/drivers/usb/gadget/udc/bdc/bdc_core.c @@ -497,11 +497,9 @@ static int bdc_probe(struct platform_device *pdev) dev_dbg(dev, "%s()\n", __func__); - clk = devm_clk_get(dev, "sw_usbd"); - if (IS_ERR(clk)) { - dev_info(dev, "Clock not found in Device Tree\n"); - clk = NULL; - } + clk = devm_clk_get_optional(dev, "sw_usbd"); + if (IS_ERR(clk)) + return PTR_ERR(clk); ret = clk_prepare_enable(clk); if (ret) {