From patchwork Tue Jan 4 23:44:32 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 452361 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p050UqZK010495 for ; Wed, 5 Jan 2011 00:30:57 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751625Ab1AEAad (ORCPT ); Tue, 4 Jan 2011 19:30:33 -0500 Received: from mail.df.lth.se ([194.47.250.12]:36555 "EHLO df.lth.se" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751616Ab1AEAac (ORCPT ); Tue, 4 Jan 2011 19:30:32 -0500 X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Wed, 05 Jan 2011 00:30:57 +0000 (UTC) X-Greylist: delayed 2737 seconds by postgrey-1.27 at vger.kernel.org; Tue, 04 Jan 2011 19:30:32 EST Received: from mer.df.lth.se (mer.df.lth.se [194.47.250.37]) by df.lth.se (8.14.2/8.13.7) with ESMTP id p04Nimqf009986 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 5 Jan 2011 00:44:49 +0100 (CET) Received: from mer.df.lth.se (triad@localhost.localdomain [127.0.0.1]) by mer.df.lth.se (8.14.3/8.14.3/Debian-9.1) with ESMTP id p04NimpZ031897; Wed, 5 Jan 2011 00:44:48 +0100 Received: (from triad@localhost) by mer.df.lth.se (8.14.3/8.14.3/Submit) id p04NihZr031896; Wed, 5 Jan 2011 00:44:43 +0100 From: Linus Walleij To: linux-mmc@vger.kernel.org, Chris Ball Cc: Pierre Tardy , Linus Walleij Subject: [PATCH] mmc: fix division by zero in MMC core Date: Wed, 5 Jan 2011 00:44:32 +0100 Message-Id: <1294184672-31644-1-git-send-email-linus.walleij@stericsson.com> X-Mailer: git-send-email 1.7.0 Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 97e0624..ef4f7f8 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -299,8 +299,9 @@ void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card) unsigned int timeout_us, limit_us; timeout_us = data->timeout_ns / 1000; - timeout_us += data->timeout_clks * 1000 / - (mmc_host_clk_rate(card->host) / 1000); + if (mmc_host_clk_rate(card->host)) + timeout_us += data->timeout_clks * 1000 / + (mmc_host_clk_rate(card->host) / 1000); if (data->flags & MMC_DATA_WRITE) /*