From patchwork Thu Feb 26 13:49:54 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Pali_Roh=C3=A1r?= X-Patchwork-Id: 5892981 Return-Path: X-Original-To: patchwork-linux-omap@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 912389F373 for ; Thu, 26 Feb 2015 13:54:10 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id D54F9203A5 for ; Thu, 26 Feb 2015 13:54:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 047BD203A1 for ; Thu, 26 Feb 2015 13:54:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932342AbbBZNui (ORCPT ); Thu, 26 Feb 2015 08:50:38 -0500 Received: from mail-we0-f173.google.com ([74.125.82.173]:45952 "EHLO mail-we0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932293AbbBZNug (ORCPT ); Thu, 26 Feb 2015 08:50:36 -0500 Received: by wesp10 with SMTP id p10so8712014wes.12; Thu, 26 Feb 2015 05:50:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=JN9zfOY7mEDTfJPRJ6q/dBUWKOK77c08ZIN1ztBFEhw=; b=wtq03IAbEHaGwjLLqbgwv8GywHGcdS3W1DCu7eaAM2OmCQAtzPAivqtXNjjRpywmxE z1LjfRptIn1qoX0wtufCjaoFKhxTD/427gVCm88gK4k43wc6P/0DDJmKkXRvkEC2OLXf J1dPG7bjrNaQ1rdhax1GmPhuGQrpnJ9rSYD22GnuY7A1XvrOw/jgMNzJZmjZTFgEDDkE Z/OxohrIhhlHQQ3lTgHNh9VOZTtBXsp5hqfSnNfsorXWaHf/Oc7I+RrpkckCh8AVoJhp V8u74PHhl5/bwF/99Csajm0tmtyADJSANGXX8K3T9KooF+Gr4FRXDpm7t8oGxBKwetOf RjhQ== X-Received: by 10.180.97.106 with SMTP id dz10mr16444033wib.33.1424958634538; Thu, 26 Feb 2015 05:50:34 -0800 (PST) Received: from Pali-Latitude.kolej.mff.cuni.cz (pali.kolej.mff.cuni.cz. [78.128.193.202]) by mx.google.com with ESMTPSA id k6sm29959364wia.6.2015.02.26.05.50.32 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 26 Feb 2015 05:50:33 -0800 (PST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: =?UTF-8?q?Beno=C3=AEt=20Cousson?= , Tony Lindgren , Rob Herring , Russell King , Paul Walmsley , Herbert Xu , "David S. Miller" Cc: linux-omap@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org, Pavel Machek , Nishanth Menon , Ivaylo Dimitrov , Aaro Koskinen , Sebastian Reichel , =?UTF-8?q?Pali=20Roh=C3=A1r?= Subject: [PATCH 04/10] crypto: omap-sham: Check for return value from pm_runtime_get_sync Date: Thu, 26 Feb 2015 14:49:54 +0100 Message-Id: <1424958600-18881-5-git-send-email-pali.rohar@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1424958600-18881-1-git-send-email-pali.rohar@gmail.com> References: <1424958600-18881-1-git-send-email-pali.rohar@gmail.com> MIME-Version: 1.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Function pm_runtime_get_sync could fail and we need to check return value to prevent kernel crash. Signed-off-by: Pali Rohár Acked-by: Pavel Machek --- drivers/crypto/omap-sham.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c index b20e374..5573a1c 100644 --- a/drivers/crypto/omap-sham.c +++ b/drivers/crypto/omap-sham.c @@ -1949,7 +1949,13 @@ static int omap_sham_probe(struct platform_device *pdev) dd->flags |= dd->pdata->flags; pm_runtime_enable(dev); - pm_runtime_get_sync(dev); + + err = pm_runtime_get_sync(dev); + if (err < 0) { + dev_err(dev, "failed to get sync: %d\n", err); + goto err_pm; + } + rev = omap_sham_read(dd, SHA_REG_REV(dd)); pm_runtime_put_sync(&pdev->dev); @@ -1979,6 +1985,7 @@ err_algs: for (j = dd->pdata->algs_info[i].registered - 1; j >= 0; j--) crypto_unregister_ahash( &dd->pdata->algs_info[i].algs_list[j]); +err_pm: pm_runtime_disable(dev); if (dd->dma_lch) dma_release_channel(dd->dma_lch);