From patchwork Tue Jul 21 14:43:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11675807 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 7C9CE13B1 for ; Tue, 21 Jul 2020 14:43:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6549920729 for ; Tue, 21 Jul 2020 14:43:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="spJqdw66" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729611AbgGUOnw (ORCPT ); Tue, 21 Jul 2020 10:43:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56558 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726710AbgGUOnv (ORCPT ); Tue, 21 Jul 2020 10:43:51 -0400 Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 16C30C061794; Tue, 21 Jul 2020 07:43:51 -0700 (PDT) Received: by mail-wr1-x443.google.com with SMTP id q5so21460924wru.6; Tue, 21 Jul 2020 07:43:51 -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=pV3mDsRWw05RxHtxCCVWe4M4nYTBOLl+uENBN/cmeeQ=; b=spJqdw66s1wknB0735bCSDqINJ9d7+XbTtNCHNYVDElaVLC3izBRx6cw7jLtVvbMXC N9DusxpxguqczEHelydAQDOqOFDhdNXsFs0cEA7oWy5Hx7UsqS+CCMs9sSSW0b8mOaS9 H0jrnqImeXCIK+dxy2nhYe5og77Ihb/tQ0cVVk2ElPeH0G/eBjkkomYm0YeIuCGYWiA5 /ivCMR0Rf6vk5Hg4M6OuLaQJs/4Gs/xPKAHCzPe/sm4TZziwILIYAmDeIUz0hn6xiy// cOgxcBZbLzH+crw9cwCl3P2+r2EsKRIodkR/kxu5x8r4FFl8mIjAxSk1BNa9bvKtqDny QQCQ== 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=pV3mDsRWw05RxHtxCCVWe4M4nYTBOLl+uENBN/cmeeQ=; b=n1H3rmaZv1XxbAQa9ijKBeWWrzTOJ+BTSNUP9AWXJ0n7yZiRADZEvYHzjjKD6ycnNn ilEB0jd/w4wJ5j9Pj7PVclBNQMsP4BHXAQ0k7sA05qmXThgjKi8Vdu3LLgisgRCZIJwf ZTMKIHMkpJ+JRJGHviXN41G2LZ+jlieh9iPdBEgF+pcpmSX8ZaLWuqTvp0oXjNj8dpbp ohZY3oyvePGgSnhfoPU8KOBCaIUVrNPUg8/cXvodYmic3QbzBG7Bko6ZnUEKf/Tjyv/5 +PTG2OipdXCgIfj4ygDWqXh2v+Otp5Bu8EPj7wzKltnEQrj+0QTYl4I1qbGK1z0vqoSC RYPQ== X-Gm-Message-State: AOAM531mLNHr+uKNygfJVcGH8SjZO3sDqBNNOJF1m4hX1hUCDC2J5bWw aGgNfGlG41dccpOgDhIGmUja2Xt2 X-Google-Smtp-Source: ABdhPJztIjYkIKu/TbY1HTnVuqchz4xJgC5V4VUOHIPmEU5nOBQW0HoOL1ZGYCtZg7g7efbJfjmCrQ== X-Received: by 2002:adf:b7c2:: with SMTP id t2mr2952173wre.282.1595342629565; Tue, 21 Jul 2020 07:43:49 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id y6sm38043116wrr.74.2020.07.21.07.43.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 07:43:49 -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 v2 1/7] dt-bindings: usb: bdc: Update compatible strings Date: Tue, 21 Jul 2020 10:43:20 -0400 Message-Id: <20200721144326.7976-2-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200721144326.7976-1-alcooperx@gmail.com> References: <20200721144326.7976-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 --- 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 Tue Jul 21 14:43:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11675809 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 12AEA6C1 for ; Tue, 21 Jul 2020 14:43:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id ED37D20714 for ; Tue, 21 Jul 2020 14:43:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="veGRSLLa" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729648AbgGUOnz (ORCPT ); Tue, 21 Jul 2020 10:43:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726710AbgGUOny (ORCPT ); Tue, 21 Jul 2020 10:43:54 -0400 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9F0EAC061794; Tue, 21 Jul 2020 07:43:53 -0700 (PDT) Received: by mail-wr1-x42e.google.com with SMTP id a14so6619637wra.5; Tue, 21 Jul 2020 07:43:53 -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=PcFNrK19mZrXhPQzacSfnIQyQlDsSGJMMRsF7kKt4gA=; b=veGRSLLaYi7xt3AG+fhtj2uh8ZYMwM+wp1U3jzN3N06nVP/J2FvPFALC2D2/lTp9KO wINKG2iTecEocZoCRHB+qdOl3D1EqG6cNxtOhJwK87DCcILgiR44qnt1u4b0US8HzEBE uwsQlaGtpVevuT0wMwvLFYdlH2Iq+rF5eaXNHz2JriJfD5DBU8OxelPZghXqGQQHDveI QxT+56FRTVJrrNs/AnTY7qsYCRecXvpCuAi+ax8EYakUprmthdvn+Qe/PJfIku1Hmp8K TAWHECgTYWzUrG9j0pG66f3OOqLHly85ODGlo+0VS3S8JGGKZQ0O76oiWhb0AdlLT7SZ TKQQ== 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=PcFNrK19mZrXhPQzacSfnIQyQlDsSGJMMRsF7kKt4gA=; b=iYxv3Dxsv1TeaTMCWvfbBh2CJAOLn4VOOhUWPa33kvfFL9ziHsWZUekB0DhergnePR l9pwBw9nJ5uYdVko5IKusYdQOaMH6aw2deBCI4aFiCxOYbe1tGlcMlm/IXe7dz/2q0k2 joXDxsCnKBnxGy0BMByvAHaz/YELVB8mW+xIlInVyGAgLX66c+BaYgzleR3gMaNAgvyO EoEI0uxyrX0BvC5pvXcRLFV6NSD1g0R8tQUpceMNZ3McXqQRGZ3aWwpLlPAcxSI7cMA+ b2YQcPIAdTSEYSzH1XzsAHLHdrRQOFPCgR7znGbFtw2CI+ZnPaLeA0Cr9Z7RNgm7E9r/ mZ8g== X-Gm-Message-State: AOAM5312CF7j67JyWIMdWul+Sy6AmUoDkakvb5j6V3bZk8HKNQCK6rvM OQKYfhZ/Y+1Hv5VtjPBEIo0tB9fA X-Google-Smtp-Source: ABdhPJzkjuU1HwRnS/yXc7/xnUILcnXDZLyJPPUiX6yZFkszg1uOx6Uqu8Wc1vVp6tEEbmmri4VOzg== X-Received: by 2002:a5d:5609:: with SMTP id l9mr6584137wrv.86.1595342631992; Tue, 21 Jul 2020 07:43:51 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id y6sm38043116wrr.74.2020.07.21.07.43.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 07:43:51 -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 v2 2/7] usb: bdc: Add compatible string for new style USB DT nodes Date: Tue, 21 Jul 2020 10:43:21 -0400 Message-Id: <20200721144326.7976-3-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200721144326.7976-1-alcooperx@gmail.com> References: <20200721144326.7976-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 there 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 Tue Jul 21 14:43:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11675819 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 BD4F013B1 for ; Tue, 21 Jul 2020 14:44:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A705D207BB for ; Tue, 21 Jul 2020 14:44:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bCFvKqDX" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729698AbgGUOn5 (ORCPT ); Tue, 21 Jul 2020 10:43:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726710AbgGUOn4 (ORCPT ); Tue, 21 Jul 2020 10:43:56 -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 EC644C061794; Tue, 21 Jul 2020 07:43:55 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id 184so3168911wmb.0; Tue, 21 Jul 2020 07:43:55 -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=zFRW11/heyizj2QZJPL2QMgceFRIzgQa3xn1BGXBSyA=; b=bCFvKqDXVub2qkB9Bl6sG8ZzR78ncR9CNECo8vYQkXrHxMZH3OeyHKqVCpbUMUFKLm 9UowELavNsk6T5L3BOoHYviyVJGNOmgup8IGUn1iFNSkNq/9iqIisTEp24cTFPt8/Iog XPX4Pd7Wtdw5gic7khwZA6DOU88c7nty9oYe/E7V8xUmFCVOrZzkG+JXWYvTejqVHg1i lSLhTMf8p7kEQqnBNZH4+B4z/mD4gM3eEgJYgZLZCkccmUnVsBYLHIvn+zoh7t3fRf/h dYWQfjVqahe0vqF2bv+LE45ZzouAa/WP0n5XTa2CaNcc++TshMa2DIHYj83fuCTs3JQ/ eQHQ== 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=zFRW11/heyizj2QZJPL2QMgceFRIzgQa3xn1BGXBSyA=; b=tZJDDBdel62KChC1vjRM8UlbZFUOymBB1TEcdBHp8qhvcJjIdiFItNrUxmejk6nIgO bhpwUZNKNmX+d/1a03TQPdncWoWo5Lc0lseObyQuc5Mt0fM/W2DhzOxug4vr8h0Oshkk jUGxBEOxAHby2M8lA4mgELn9kETku+qXxL7bgXeeM8NO/Ii1b4Jn7B5ZriooQ9IxtTxj FhTck3H1fFW3ZZT973lrEn+LVTvoEqVKguMdXvnTnOngu3FPwbJ6kEzuJ21rOwm+Bxaf wN+3tFO/nzydeCnJJQIzLz5oD4XFo1AGMd86lO5uw4YUufnR0jbHa8aKEiLyQrrdXNBI JPjA== X-Gm-Message-State: AOAM532pgrrsRbr+02MXs0e+1I9QHdh65KPkhAaBYCb/ijnweoiUSRf2 OVuaOCyp1xGvMdKThoeLIHifaEBh X-Google-Smtp-Source: ABdhPJyPWyU+HIy+RMMgKGdFDUS/Q/Bd6/ZN1myGkbRDi3plbSMTupEBxagbCK9bEkZu9ed+TPqVzw== X-Received: by 2002:a7b:ca52:: with SMTP id m18mr4349730wml.92.1595342634347; Tue, 21 Jul 2020 07:43:54 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id y6sm38043116wrr.74.2020.07.21.07.43.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 07:43:53 -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 v2 3/7] bdc: Fix bug causing crash after multiple disconnects Date: Tue, 21 Jul 2020 10:43:22 -0400 Message-Id: <20200721144326.7976-4-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200721144326.7976-1-alcooperx@gmail.com> References: <20200721144326.7976-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 Tue Jul 21 14:43:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11675811 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 422F86C1 for ; Tue, 21 Jul 2020 14:44:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2AC3822BF5 for ; Tue, 21 Jul 2020 14:44:03 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="rQJbyvrx" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729734AbgGUOn7 (ORCPT ); Tue, 21 Jul 2020 10:43:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56580 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726710AbgGUOn6 (ORCPT ); Tue, 21 Jul 2020 10:43:58 -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 62C4BC061794; Tue, 21 Jul 2020 07:43:58 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id 184so3169062wmb.0; Tue, 21 Jul 2020 07:43:58 -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=2WK/JeeE/+nRyXwG8HQaNc35vq7rZhxdQ0xZiZF9ajQ=; b=rQJbyvrxOrncommrgjtatOvhPg1Pabu6o5TRfMOy6W8MXP8C8/41aMQ+D8mjxFW+hs fXUk4ITuVYErOeItwMicvNy+8Br+NB6mLndemGip1uHkfxomODt/phx3lJwmGUfNuTxL 4Gt2jJwvmUxMknUooZaBvo3PqbbSOC9pfeFpM56CcI2NX9S+GbCOr62MxPITmiEeRsr3 CJYLQYSp0G9x6Gu0Q9WHUUldZcT+t+FI1ooZlo3VI84oJ7EwZbOE5S8l+GAcCmd1L6A4 Ag3oYlLAXJsaT817tzzXuQgUYi0f2Toyuu1vTvG1B3Fzj18W4cwSbAEbygANrY/Ln1Qy d/1w== 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=2WK/JeeE/+nRyXwG8HQaNc35vq7rZhxdQ0xZiZF9ajQ=; b=WDG/6g3NPoXeMzhQAMq6yZMnHz+wP+SvMkJAQDyiqCnZ9841uO9JErOduM5GViyLAb J8NrARA6GT0k2OzEKuqCd63sewQlAiMFR5ntnA3wlmfP+P/IK49ppnez+QM9VTihMq4E o1BkLMKFeh+ALSElu6VbfY/QVcRyjPR27viBeQr7l4R3ZXhjrvpht2aq/qmQsTwhp0jN B6S2XPj+0dkeqPpif6/P5jC4JpvpCEzGmHKMfsJlnF5FxYFcZX1GRVW/eS1EOKVbgTmJ R5l7ZxQc/cEKhq31egj78AKN3iGdSDZzNJfpZZtjm7AUttBt3q2A/OUZZWUPJ1XYLYbu tv2g== X-Gm-Message-State: AOAM531i4OA/tj/pU7vt4vF9yPLU+dMA9caO4YSqmTMWmQfhZKtDl9xS NzSDpQGx79vv/tdaYqAl0A6uLVxp X-Google-Smtp-Source: ABdhPJx08iO+KKiyBNH+T/5yivtegAn8wOfRjAOQvbXnO77p0A8Npt0iH3cHXkhnHyEM/l/GGzjnmw== X-Received: by 2002:a1c:1d46:: with SMTP id d67mr4719153wmd.152.1595342636720; Tue, 21 Jul 2020 07:43:56 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id y6sm38043116wrr.74.2020.07.21.07.43.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 07:43:56 -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 v2 4/7] usb: bdc: Adb shows offline after resuming from S2 Date: Tue, 21 Jul 2020 10:43:23 -0400 Message-Id: <20200721144326.7976-5-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200721144326.7976-1-alcooperx@gmail.com> References: <20200721144326.7976-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 Tue Jul 21 14:43:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11675817 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 7372A6C1 for ; Tue, 21 Jul 2020 14:44:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5E24E22BEF for ; Tue, 21 Jul 2020 14:44:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LXNkh5E3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729785AbgGUOoD (ORCPT ); Tue, 21 Jul 2020 10:44:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56590 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726412AbgGUOoB (ORCPT ); Tue, 21 Jul 2020 10:44:01 -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 15B62C061794; Tue, 21 Jul 2020 07:44:01 -0700 (PDT) Received: by mail-wr1-x444.google.com with SMTP id q5so21461496wru.6; Tue, 21 Jul 2020 07:44:01 -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=SDSJ6E6TyEjHyBsZi4uqpY8XOPxYP4sG84LLuvagPCE=; b=LXNkh5E373uukeAG5HTm4hVe/3CIMyTSPNosbt4uZyKOWpSkcIi47dMSNW4x2QyhNj oKPvQ/Yt+xETCl98ceCROauXnRAiXk61fkusYxT1H7caPFb10HLO2f1L1ft3GXZJapeD FpuNkhaC4m7Fa6Q+wEqy+XDWuVzqW7t7hxo/XY1n1BySqM0D/OuqojY1R/cL8zmeHSzQ pjYkV8rGbF8ijkSUIoK5IaCMzZJGilpmmlVQs9vWU2CyGzc4xpkhbAJzdxC4bT2OMvEJ wej6HXbzZEtWJI7d2Kb7FxanzlEuVMvVd2QA5RdcNVmPkO1TUCIwfENJge5ZTeFzk/U+ FaFg== 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=SDSJ6E6TyEjHyBsZi4uqpY8XOPxYP4sG84LLuvagPCE=; b=e4cf7yTTrHnLRD1cRPPd29u3RxYoTz+4cz3LmIIdCrIlf7Y8yrfjp20QnmCbefTepZ ajEc1+v9PEbYrSh78tC7H8PNQmo7EhiTHiP7vKqxHsA/3unZQVNhQoHhqfUSvYmgRjbX gaHGjQFBQ676wYOXtHCfoDlKpIEXsHbA7psGaDTqjO0wt6d+/eNOHkI73afXYuDfU8S0 SItIKbmgzjDnCZ/y3oDz5x42H+2oxe8qlOrPJFkDcwWdSAs7fuk8dCPm4WDSOree6Exg cTT+8aHfMyEDZWllZL6qts4xquvrmjuwVvLhRDo3jErABs8zyx0539aIVujrxtdtsoDc 9hFA== X-Gm-Message-State: AOAM531OClGH82pmVVgpc4hCf/59KM7ywkDqsx0QFl8u7ohWEp6quJu0 tHfkdHQqZxaCbemlaCC1V5ebGGh3 X-Google-Smtp-Source: ABdhPJxLflxKVX4ZbEq70tqbZQAsMbzjsGhVX2zwjUEKaxUf0RoKUkc3pbcANasoTbPWI3btN/OVog== X-Received: by 2002:a05:6000:1cf:: with SMTP id t15mr28987303wrx.180.1595342639503; Tue, 21 Jul 2020 07:43:59 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id y6sm38043116wrr.74.2020.07.21.07.43.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 07:43:58 -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 v2 5/7] usb: bdc: driver runs out of buffer descriptors on large ADB transfers Date: Tue, 21 Jul 2020 10:43:24 -0400 Message-Id: <20200721144326.7976-6-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200721144326.7976-1-alcooperx@gmail.com> References: <20200721144326.7976-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 Tue Jul 21 14:43:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11675813 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 11D2913B1 for ; Tue, 21 Jul 2020 14:44:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id EBA4922482 for ; Tue, 21 Jul 2020 14:44:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="p3XTIZfW" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729831AbgGUOoF (ORCPT ); Tue, 21 Jul 2020 10:44:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726412AbgGUOoE (ORCPT ); Tue, 21 Jul 2020 10:44:04 -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 BEBAAC061794; Tue, 21 Jul 2020 07:44:03 -0700 (PDT) Received: by mail-wr1-x444.google.com with SMTP id b6so21450540wrs.11; Tue, 21 Jul 2020 07:44:03 -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=6ZPgUCgCyCJ533zU9xgomZJ4ZfzK2nMz+2ShrXAvUbU=; b=p3XTIZfWJt7p1TwrtemIEqVnzN7N7bVOKtEgQPxc1uZUlzPq66EZC2BHNy8iKdYIX5 50bW3qkA+DZR9HVBi63e7aHgl+LCPRrD3PRvlBrEDcDCrdQ2lYxmi2zQzh0K2jku6V0g /ihH3fteVL0ygeF9ycxUzplx86sg48D/voh0lNMxPnRY/4VfMLSYVV+JBMSQ8lHYf7uk 4wXQCLE0Uw0tcZEtyX6PYj3pozeh2F8ZfWXWd7kaBaJwaqL996QiryIK18wDhyuoFvHE NnGTZWEdaxyRSTQQHKq3ZQiA8ZTujJrunY6nK+GkJc2nN7laMJvTlnpvhl+Fp6fxXIwW 0kDg== 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=6ZPgUCgCyCJ533zU9xgomZJ4ZfzK2nMz+2ShrXAvUbU=; b=b3YBahOrAqc0GUchA4UNlY6oPXEtfi+itVuoC/ITISdTJ5Wyeka0ra7uyFeu7HBZmu me6SC7P12uJUWcoIk7SD/xcPQCwTzcS4FHbHxwUcU3ZDOBAP+GrWr7z7cnABD8H+81rZ g1PaNKEC2fW6JhUqQXKLDWJ5qGTqM8g+/uG/HCa8PfAIEJCBxY9MB5YcGwyWcdFD1H1a zWv5kxGu8QERYBQjcYLCYVBtr9X8B3kURQpCgp8IYL7hZAwvPj22tMu+ABOI2ZNhHb9X ET3SGxEwNleTzufbRE/KIVMi9lv4JPbS4mU1EOZIbtGh3UjBAvcY8CPb0ik1MVUyKak4 3bxw== X-Gm-Message-State: AOAM530d2BPkD3SgzTl5J6iLqXkucgoKsTwoms3SYhJGLCboa43Itq5h j5eylzTLRS7uWLnXW6yHgRtGtQon X-Google-Smtp-Source: ABdhPJylMLSaczatjJBkMfzLMs3J8WiXu4RiECOgAlF4ZBv3ZtBQs+pSV6zf0tF43q+YwpTCHvP0qA== X-Received: by 2002:adf:bc4b:: with SMTP id a11mr6240398wrh.381.1595342642251; Tue, 21 Jul 2020 07:44:02 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id y6sm38043116wrr.74.2020.07.21.07.43.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 07:44:01 -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 v2 6/7] usb: bdc: Halt controller on suspend Date: Tue, 21 Jul 2020 10:43:25 -0400 Message-Id: <20200721144326.7976-7-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200721144326.7976-1-alcooperx@gmail.com> References: <20200721144326.7976-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 Tue Jul 21 14:43:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Cooper X-Patchwork-Id: 11675815 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 A392D6C1 for ; Tue, 21 Jul 2020 14:44:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8CB3921702 for ; Tue, 21 Jul 2020 14:44:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ms7mwOup" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729886AbgGUOoH (ORCPT ); Tue, 21 Jul 2020 10:44:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56606 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729871AbgGUOoH (ORCPT ); Tue, 21 Jul 2020 10:44: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 A14CBC061794; Tue, 21 Jul 2020 07:44:06 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id q5so21461820wru.6; Tue, 21 Jul 2020 07:44: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=/f+3CAnVUu/WjuKg7piRBh88qTkT5e7hVX0fEyS5bwY=; b=Ms7mwOupgucNKvHjaO51nVyunwKt6+TL6btD/qMIECU2mqYJHJGKfg0XiRiLB7OpCJ io2x9OLHnMKcDRuYwpIFmGJUw9nx+4eIGRX1JD1S5w8M1Wrhi30qUR+SWaQj1hWwOdbx rWzX12fpHhEHXa1DqPgEJal92k2p3qDfkbYvoUnQxIWle+DzQ0xhcAwa8jCEpHjFxIYC uYcKJKepMIlbAx0dF6m8BO6vmQ3hY9qnFwuY1M65G/4vLNk+pdyOC5TLRQeIBRkfGquB 45o9VO43PPPeC0ELIrcBPy72cH2PtBh1xBrARSHHxwWlIfoo/AebnNF61SHg7Bt6Q/k5 bCUw== 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=PFzv/1GssZdM+YH4gk1vlf1FYZ/KLT07U7xTMe9wyMZIdmWzN15kG2S6ruZWtTeK1q dNRT2hLhkSAfG0ZUgvwWqr2uKcfCcDttYT0VXREFfkzj3gV1K5YFt6adEhQo1igAMvRe XwWfWEDxT6+DtcyBZtozl+0aA3JS53YkVyc/A4TBEePzkT3aTY7ooS41U0PrUSZ8onWF AzSOJfPJnTD8P0+gRhalSJrOKgxhzvbWMzoJT5rKgM+36WpLSKM73EhQocByiJlmwGfJ AlTkq84itPAd7xr8ywF5MmzIslpP1yxmN2OuVOZDT2Vh0FnpCaXyL1fIhfRNnybTQj6a e0GQ== X-Gm-Message-State: AOAM532cRKpDZBnx6AlnenycowcJT6aVg/8TknssdS5jHSA2EVT1BR8h jruV8BwcoSHt4TH4zlMXkF2LZy/O X-Google-Smtp-Source: ABdhPJzB0wLvFkFof5pNtZA4xFonrctQrhfecc9Jb5K8Cw2fhCvUQR6jldysZfVCTluswm8bqGFpWA== X-Received: by 2002:adf:a15c:: with SMTP id r28mr7590524wrr.151.1595342645103; Tue, 21 Jul 2020 07:44:05 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.231.250]) by smtp.gmail.com with ESMTPSA id y6sm38043116wrr.74.2020.07.21.07.44.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 07:44:04 -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 v2 7/7] usb: bdc: Use devm_clk_get_optional() Date: Tue, 21 Jul 2020 10:43:26 -0400 Message-Id: <20200721144326.7976-8-alcooperx@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200721144326.7976-1-alcooperx@gmail.com> References: <20200721144326.7976-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) {