From patchwork Thu May 27 10:20:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: zpershuai X-Patchwork-Id: 12283919 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.7 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2906C4707F for ; Thu, 27 May 2021 10:22:51 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A1D31613B4 for ; Thu, 27 May 2021 10:22:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A1D31613B4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:Subject:Cc:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=TnaDO0RZiRSKSkM2XoDoVzDny8lD26EiKNZeUy0PuDg=; b=2/ZAHe9aj0fDIy q/zF/yYzA1uzPgZgoH7b0DVkrpOx3O0cdGAXceuv7GmH9DezM44TnXSVaBKNg1Skt+eJiUNAoexjf +kdOE5XJRiseR+g/7Cz8ucX7o8JtXxRgErkJ2v8qJlLgpIiFKyL6xmth6laSJRtPC/wsNCZQEzZvp NfiJ79qOxcsmycEMJa6RJYDvog3GOUAAi22G18QhXwqmwXlFmXFweHSG95+APcEwFzd477pAY7Bv8 fgpQdOcS/qf8s300GIyVGxZFf8P6xuoIz6vjq+oXwYjYg94NYWLzV40jBqBBl4XhGfhgsX9/t08AZ yAa7nMZf3GLJUjGZ6UGw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lmD8o-004kt0-FQ; Thu, 27 May 2021 10:21:27 +0000 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lmD8f-004kq9-R5 for linux-arm-kernel@lists.infradead.org; Thu, 27 May 2021 10:21:19 +0000 Received: by mail-pj1-x102d.google.com with SMTP id mp9-20020a17090b1909b029015fd1e3ad5aso2054622pjb.3 for ; Thu, 27 May 2021 03:21:16 -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; bh=M9vjB2pQJwpAIYbq+Dq4Bd8NFKd209BgSoVio/gkh5Q=; b=U1aPrbrXYsfBQ5AMy7Pyq2dLOhOEElyFR5vP/1SAcUJppXtBkdX12LnwNXArNAvwdj /iwiIKZC7Lx5RfZNYoF5o7Kuz2FSVsz+mGvx/Z1WFtG2WSjjslDpfYRv2sLUjDGmZWg2 y17Ka7kru1ShEkvWEkg6KhCjQy4F3uPYneaqliX0IjJLtGgscW3TrQdv8o/INys55NIH RE3M8iYitG3Lt9dZu46w8fkppZ6m16FykrL7LqaBgbkzmQL4ZriIXSY8DnRFuKzJHPyj GXPmIpjq7yN49iNBQNNuueSZrrn4jVtDY2XHtekhZrIfwaYiAhyDWAjwZ1gqSBLJ70bL S0hQ== 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; bh=M9vjB2pQJwpAIYbq+Dq4Bd8NFKd209BgSoVio/gkh5Q=; b=dL/3kxsjbyry5A10fYWaOyRELhIRqI00XDLnqWG6hHBD9V18otSK2V8ORBbIy70JVF ohDmexBwl+oWLqFQQVWuOF7Dd3w+BNggp0coDycDEvYvklHe1ciot9h/IeyloQQnsQib ClmbUsjjqxcUf2B7x1AngUH2g5j6bPn83hUl6nhHyjduhkCT8S8ZuAiEdnEmGicXN0lw e2mu3A3ilY+G42bsYXFAenVtZ+09kJMlNR06Z6E2TxZMaNnWO9EBFJm7pGpHPKDQFxFz uuuiNAajJpfN6dVGusVofimYa0hLtWsg24Mq98krpn3b/Nln5QKBBYR1JyyVvjb13ecm ZW3g== X-Gm-Message-State: AOAM533ZwlectAbMtDsXWadOXqSFjRwUqfK9TKGJItwLRdqzbAUTIEjM 47kk818U7tYiT12aVIS6eGc= X-Google-Smtp-Source: ABdhPJwo6uAZzIJYKnrRee/oae2aKfU0LEq3jXIL3+2GAMuVbDpAUtzDAZXtgXLoowqraNwEszsZ1A== X-Received: by 2002:a17:90a:9105:: with SMTP id k5mr2994174pjo.48.1622110876010; Thu, 27 May 2021 03:21:16 -0700 (PDT) Received: from localhost.members.linode.com ([2400:8902::f03c:92ff:fe55:8c1e]) by smtp.gmail.com with ESMTPSA id 15sm1659315pjt.17.2021.05.27.03.21.13 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 May 2021 03:21:15 -0700 (PDT) From: zpershuai To: Mark Brown , Michal Simek , linux-spi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: zpershuai Subject: [PATCH] spi: spi-zynq-qspi: Fix some wrong goto jumps & missing error code Date: Thu, 27 May 2021 18:20:57 +0800 Message-Id: <1622110857-21812-1-git-send-email-zpershuai@gmail.com> X-Mailer: git-send-email 2.7.4 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210527_032117_951204_A343B108 X-CRM114-Status: GOOD ( 15.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org In zynq_qspi_probe function, when enable the device clock is done, the return of all the functions should goto the clk_dis_all label. If num_cs is not right then this should return a negative error code but currently it returns success. Signed-off-by: zpershuai --- drivers/spi/spi-zynq-qspi.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi-zynq-qspi.c b/drivers/spi/spi-zynq-qspi.c index 5a3d81c31d04..9262c6418463 100644 --- a/drivers/spi/spi-zynq-qspi.c +++ b/drivers/spi/spi-zynq-qspi.c @@ -678,14 +678,14 @@ static int zynq_qspi_probe(struct platform_device *pdev) xqspi->irq = platform_get_irq(pdev, 0); if (xqspi->irq <= 0) { ret = -ENXIO; - goto remove_master; + goto clk_dis_all; } ret = devm_request_irq(&pdev->dev, xqspi->irq, zynq_qspi_irq, 0, pdev->name, xqspi); if (ret != 0) { ret = -ENXIO; dev_err(&pdev->dev, "request_irq failed\n"); - goto remove_master; + goto clk_dis_all; } ret = of_property_read_u32(np, "num-cs", @@ -693,8 +693,9 @@ static int zynq_qspi_probe(struct platform_device *pdev) if (ret < 0) { ctlr->num_chipselect = 1; } else if (num_cs > ZYNQ_QSPI_MAX_NUM_CS) { + ret = -EINVAL; dev_err(&pdev->dev, "only 2 chip selects are available\n"); - goto remove_master; + goto clk_dis_all; } else { ctlr->num_chipselect = num_cs; }