From patchwork Thu Jul 11 01:07:23 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Estevam X-Patchwork-Id: 258275 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id BC4942C02B1 for ; Thu, 11 Jul 2013 11:07:50 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754046Ab3GKBHt (ORCPT ); Wed, 10 Jul 2013 21:07:49 -0400 Received: from mail-gh0-f170.google.com ([209.85.160.170]:59635 "EHLO mail-gh0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754040Ab3GKBHt (ORCPT ); Wed, 10 Jul 2013 21:07:49 -0400 Received: by mail-gh0-f170.google.com with SMTP id z10so2632822ghb.15 for ; Wed, 10 Jul 2013 18:07:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=CFATm7LyxL9qssjGi3PTQOx7e/0Zjo7Hpl+F3iyLgoI=; b=s3n/CJzYLE3E0EyMt98B4Z6HQgNHJeJPSSfjV3n05lUopIdE7oYxNLxQ8GYZ5dxqFj 7sfkb4Q56oaTftL2NAq8Q8YUV0hnzR2CzUdt/AZlnX0Hb1p5N2FwSwXwEU+tI9l6g2w0 qGgQF+opQ6oiO2SB3S80QRR4T3FUI2uc5S7H8egD5xbfL8UJAeM9FksMO9ExDwB6n79L YC6Dq78/XADDthnWtLYS1X5zA/3xlXchKV9NinW4bhLvwkfd/uVNvTB+7tdSHJvqzjyX L9wB031EHTrBIdeEq4Lazune3eTaS761b5Z6EsfIckIVzVw3+48XJrhuuMHJ/hkjYkOC ZDEQ== X-Received: by 10.236.105.173 with SMTP id k33mr19333250yhg.87.1373504868525; Wed, 10 Jul 2013 18:07:48 -0700 (PDT) Received: from localhost.localdomain ([187.106.36.171]) by mx.google.com with ESMTPSA id i4sm19263910yhg.16.2013.07.10.18.07.46 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 10 Jul 2013 18:07:48 -0700 (PDT) From: Fabio Estevam To: wsa@the-dreams.de Cc: marex@denx.de, linux-i2c@vger.kernel.org, Fabio Estevam Subject: [PATCH] i2c: i2c-mxs: Check the return value from stmp_reset_block() Date: Wed, 10 Jul 2013 22:07:23 -0300 Message-Id: <1373504843-15259-1-git-send-email-festevam@gmail.com> X-Mailer: git-send-email 1.8.1.2 Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org From: Fabio Estevam stmp_reset_block() may fail, so let's check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam --- drivers/i2c/busses/i2c-mxs.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c index df8ff5a..1891ae7 100644 --- a/drivers/i2c/busses/i2c-mxs.c +++ b/drivers/i2c/busses/i2c-mxs.c @@ -123,9 +123,11 @@ struct mxs_i2c_dev { bool dma_read; }; -static void mxs_i2c_reset(struct mxs_i2c_dev *i2c) +static int mxs_i2c_reset(struct mxs_i2c_dev *i2c) { - stmp_reset_block(i2c->regs); + int ret = stmp_reset_block(i2c->regs); + if (ret) + return ret; /* * Configure timing for the I2C block. The I2C TIMING2 register has to @@ -139,6 +141,8 @@ static void mxs_i2c_reset(struct mxs_i2c_dev *i2c) writel(0x00300030, i2c->regs + MXS_I2C_TIMING2); writel(MXS_I2C_IRQ_MASK << 8, i2c->regs + MXS_I2C_CTRL1_SET); + + return 0; } static void mxs_i2c_dma_finish(struct mxs_i2c_dev *i2c) @@ -683,7 +687,9 @@ static int mxs_i2c_probe(struct platform_device *pdev) platform_set_drvdata(pdev, i2c); /* Do reset to enforce correct startup after pinmuxing */ - mxs_i2c_reset(i2c); + err = mxs_i2c_reset(i2c); + if (err) + return err; adap = &i2c->adapter; strlcpy(adap->name, "MXS I2C adapter", sizeof(adap->name));