From patchwork Wed Mar 2 22:33:33 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wolfram Sang X-Patchwork-Id: 591160 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 0ACE314012C for ; Thu, 3 Mar 2016 09:35:48 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755808AbcCBWdt (ORCPT ); Wed, 2 Mar 2016 17:33:49 -0500 Received: from sauhun.de ([89.238.76.85]:37214 "EHLO pokefinder.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755557AbcCBWdr (ORCPT ); Wed, 2 Mar 2016 17:33:47 -0500 Received: from p5082e975.dip0.t-ipconnect.de ([80.130.233.117]:38118 helo=localhost) by pokefinder.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1abFKy-0007fY-HF; Wed, 02 Mar 2016 23:33:44 +0100 From: Wolfram Sang To: linux-kernel@vger.kernel.org Cc: linux-renesas-soc@vger.kernel.org, Sergei Shtylyov , netdev@vger.kernel.org Subject: [PATCH 2/6] net: ethernet: renesas: ravb_main: test clock rate to avoid division by 0 Date: Wed, 2 Mar 2016 23:33:33 +0100 Message-Id: <1456958018-7849-3-git-send-email-wsa@the-dreams.de> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1456958018-7849-1-git-send-email-wsa@the-dreams.de> References: <1456958018-7849-1-git-send-email-wsa@the-dreams.de> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Wolfram Sang The clk API may return 0 on clk_get_rate, so we should check the result before using it as a divisor. Signed-off-by: Wolfram Sang Acked-by: Sergei Shtylyov --- Should go individually via subsystem tree. drivers/net/ethernet/renesas/ravb_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c index 88656ceb6e2946..ce1954a6a12726 100644 --- a/drivers/net/ethernet/renesas/ravb_main.c +++ b/drivers/net/ethernet/renesas/ravb_main.c @@ -1691,6 +1691,9 @@ static int ravb_set_gti(struct net_device *ndev) rate = clk_get_rate(clk); clk_put(clk); + if (!rate) + return -EINVAL; + inc = 1000000000ULL << 20; do_div(inc, rate);