From patchwork Tue Jun 6 09:44:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arvind Yadav X-Patchwork-Id: 9768377 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id AEBBA6035D for ; Tue, 6 Jun 2017 09:44:35 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 941E026538 for ; Tue, 6 Jun 2017 09:44:35 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8818F2684F; Tue, 6 Jun 2017 09:44:35 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 354F026538 for ; Tue, 6 Jun 2017 09:44:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751391AbdFFJoe (ORCPT ); Tue, 6 Jun 2017 05:44:34 -0400 Received: from mail-pg0-f67.google.com ([74.125.83.67]:33710 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751329AbdFFJoe (ORCPT ); Tue, 6 Jun 2017 05:44:34 -0400 Received: by mail-pg0-f67.google.com with SMTP id a70so4335119pge.0; Tue, 06 Jun 2017 02:44:33 -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=fHpMyuWEmwQ8MkbXZAfu1zARAlgAeJyQ8ifKjhbIGNM=; b=rbdyYskuYMlMXNSeDieSewTnszpuh1HIofhrGYur80mz7cGoK1ayp4+qbIZWlkKiMy SGBi46Qa5gHHwCcJ7cBYarRlTegfKP855hoDcx2v05RGDgmz7wB1OIdd+sOPXNuvV8vb G5S6CgTDw29DUKavzcLI6/ydAUX8tuKA2tOj6bxh3yfgRqZul3HRcOR1xroyHLj8Ehqq Rnkt5lPcggVPhtq1k6Rpoh4MXWmVzPSZc4zx9c8QW54XWK5+AdqLp8YG8NIdBCR5lOhJ /Q3Mt22F4ol6+RIjUQu7ztFvI3kkrcF06McFpdF1ZogApCmDPnpSAsLtxVMApUdI74Uf Mx7w== 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=fHpMyuWEmwQ8MkbXZAfu1zARAlgAeJyQ8ifKjhbIGNM=; b=HylB3F34lBKx4GxLlv5bE67psusz+nn8E/sv/s4UTtbxtzgbv2mqN934n4qEGgDHzQ yms4maWiXgcAdPtTII/2aQETz7vB0FxM7pR/dEXmEhkShy8renaSjfFDH6yr4Lc4xbC2 sKT8YVMhUaV+p7oDanTs8LfuMmJCERmTQswwLSgiAjilJjtKSDf/PEunBb48Es0STe3I LSsneBsc9XMDfFF9CW6nBrl3hu1/hpEt75GmOWN2+61v5i5DdEUEs/hokwz0n5BqzHei nxI332dW57HvbELtoNU7a+J38hIiDtZLoZAyDd4i5SY+FGKHdULZMkuci/BAbz3fphuv D/ow== X-Gm-Message-State: AODbwcCYNeAp2O9/E3MNDrv+JJQRKkUCa6I+/y/+7izwv5MQWg13Rx7h hwiIZgLNb3uoqA== X-Received: by 10.98.68.156 with SMTP id m28mr19317379pfi.48.1496742273377; Tue, 06 Jun 2017 02:44:33 -0700 (PDT) Received: from symbol-HP-Z420-Workstation.zebra.lan ([223.31.70.102]) by smtp.googlemail.com with ESMTPSA id w73sm1213822pfk.21.2017.06.06.02.44.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Jun 2017 02:44:32 -0700 (PDT) From: Arvind Yadav To: daniel@zonque.org, haojian.zhuang@gmail.com, robert.jarzmik@free.fr, broonie@kernel.org, geert@linux-m68k.org Cc: linux-arm-kernel@lists.infradead.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] spi: pxa2xx: Handle return value of clk_prepare_enable Date: Tue, 6 Jun 2017 15:14:15 +0530 Message-Id: <4e16c0aba047b068aaa41c1d180d98ccb441afd0.1496668108.git.arvind.yadav.cs@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP clk_prepare_enable() can fail here and we must check its return value. Signed-off-by: Arvind Yadav --- drivers/spi/spi-pxa2xx.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c index 47b65d7..e9c0fe5 100644 --- a/drivers/spi/spi-pxa2xx.c +++ b/drivers/spi/spi-pxa2xx.c @@ -1676,7 +1676,11 @@ static int pxa2xx_spi_probe(struct platform_device *pdev) } /* Enable SOC clock */ - clk_prepare_enable(ssp->clk); + status = clk_prepare_enable(ssp->clk); + if (status) { + dev_err(&pdev->dev, "Failed to prepare clock\n"); + goto out_error_master_alloc; + } master->max_speed_hz = clk_get_rate(ssp->clk); @@ -1855,8 +1859,13 @@ static int pxa2xx_spi_resume(struct device *dev) int status; /* Enable the SSP clock */ - if (!pm_runtime_suspended(dev)) - clk_prepare_enable(ssp->clk); + if (!pm_runtime_suspended(dev)) { + status = clk_prepare_enable(ssp->clk); + if (status) { + dev_err(dev, "Failed to prepare clock\n"); + return status; + } + } /* Restore LPSS private register bits */ if (is_lpss_ssp(drv_data)) @@ -1886,8 +1895,7 @@ static int pxa2xx_spi_runtime_resume(struct device *dev) { struct driver_data *drv_data = dev_get_drvdata(dev); - clk_prepare_enable(drv_data->ssp->clk); - return 0; + return clk_prepare_enable(drv_data->ssp->clk); } #endif