From patchwork Mon Aug 25 18:19:04 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Anderson X-Patchwork-Id: 4776111 Return-Path: X-Original-To: patchwork-linux-mmc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 88D9D9F2A9 for ; Mon, 25 Aug 2014 18:27:08 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id B4C3B20117 for ; Mon, 25 Aug 2014 18:27:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DBEBF20107 for ; Mon, 25 Aug 2014 18:27:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756317AbaHYS1F (ORCPT ); Mon, 25 Aug 2014 14:27:05 -0400 Received: from mail-yh0-f73.google.com ([209.85.213.73]:62426 "EHLO mail-yh0-f73.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754916AbaHYS1F (ORCPT ); Mon, 25 Aug 2014 14:27:05 -0400 Received: by mail-yh0-f73.google.com with SMTP id f73so1602847yha.2 for ; Mon, 25 Aug 2014 11:27:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=3WqMQ7LUgq9JRpc8A9ZechwxNad7esGSbw6cNGn7AvA=; b=baBp2cORHvsZIbY01RCyvJMdL8N48EY1VjhNf6Fv+wV9Z9ECGpGveafq2jqwxQmm3p 1TB3N6O8i9eGEjylfgPMwTXzWHBHPZ/32mrvmhwEEezINIcpA9LXhrX82pPdwzkbkgA6 G//ILBGnxqhx8flsu3VXO7l4XuSSSNz3R7sHuT0CO0yGKSnbScpidCDviwl01pGODkLP Xv2WOfIqOa2InSv70UTk8Qb0gHq13Z1mFmN4lai3hH9BLqcxPdLTY6fs71q2e4pXDHFc /Wu2qbbtMpy5L8kZSxSyBPaPLxIV6E7vLL8MAProy3zV6dCVwd4PeC1+Gdqy0oalB/Nw 78tQ== X-Gm-Message-State: ALoCoQkQij/aXZByQPw8PnM9KLr2b/07Ku0Z9pPbvwZ72vfDwb0JNPLDAJmTJoEuTn4U4k4/XFK9 X-Received: by 10.236.77.42 with SMTP id c30mr15220685yhe.6.1408990765336; Mon, 25 Aug 2014 11:19:25 -0700 (PDT) Received: from corp2gmr1-2.hot.corp.google.com (corp2gmr1-2.hot.corp.google.com [172.24.189.93]) by gmr-mx.google.com with ESMTPS id t28si41320yhb.4.2014.08.25.11.19.25 for (version=TLSv1.1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 25 Aug 2014 11:19:25 -0700 (PDT) Received: from tictac.mtv.corp.google.com (tictac.mtv.corp.google.com [172.22.162.15]) by corp2gmr1-2.hot.corp.google.com (Postfix) with ESMTP id 139965A4435; Mon, 25 Aug 2014 11:19:25 -0700 (PDT) Received: by tictac.mtv.corp.google.com (Postfix, from userid 121310) id A1CBE80591; Mon, 25 Aug 2014 11:19:24 -0700 (PDT) From: Doug Anderson To: Ulf Hansson Cc: Addy Ke , olof@lixom.net, Sonny Rao , Jaehoon Chung , Seungwon Jeon , Chris Ball , Yuvaraj Kumar C D , Doug Anderson , chris@printf.net, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] mmc: dw_mmc: Pass back errors from mmc_of_parse() Date: Mon, 25 Aug 2014 11:19:04 -0700 Message-Id: <1408990744-1093-1-git-send-email-dianders@chromium.org> X-Mailer: git-send-email 2.1.0.rc2.206.gedb03e5 Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham 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 It's possible that mmc_of_parse() could return errors (possibly in some future version it might return -EPROBE_DEFER even). Let's pass those errors back. Signed-off-by: Doug Anderson Acked-by: Jaehoon Chung --- drivers/mmc/host/dw_mmc.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 7f227e9..9ef4df0 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -2131,7 +2131,9 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id) if (host->pdata->caps2) mmc->caps2 = host->pdata->caps2; - mmc_of_parse(mmc); + ret = mmc_of_parse(mmc); + if (ret) + goto err_host_allocated; if (host->pdata->blk_settings) { mmc->max_segs = host->pdata->blk_settings->max_segs; @@ -2163,7 +2165,7 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id) ret = mmc_add_host(mmc); if (ret) - goto err_setup_bus; + goto err_host_allocated; #if defined(CONFIG_DEBUG_FS) dw_mci_init_debugfs(slot); @@ -2174,9 +2176,9 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id) return 0; -err_setup_bus: +err_host_allocated: mmc_free_host(mmc); - return -EINVAL; + return ret; } static void dw_mci_cleanup_slot(struct dw_mci_slot *slot, unsigned int id)