From patchwork Wed Apr 13 00:54:30 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Axel Lin X-Patchwork-Id: 609840 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 3ql51B1JV9z9t0t for ; Wed, 13 Apr 2016 10:54:38 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ingics-com.20150623.gappssmtp.com header.i=@ingics-com.20150623.gappssmtp.com header.b=DyEs79ny; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757200AbcDMAyg (ORCPT ); Tue, 12 Apr 2016 20:54:36 -0400 Received: from mail-pa0-f66.google.com ([209.85.220.66]:36469 "EHLO mail-pa0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757912AbcDMAyf (ORCPT ); Tue, 12 Apr 2016 20:54:35 -0400 Received: by mail-pa0-f66.google.com with SMTP id k3so2483864pav.3 for ; Tue, 12 Apr 2016 17:54:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ingics-com.20150623.gappssmtp.com; s=20150623; h=message-id:subject:from:to:cc:date:in-reply-to:references :mime-version:content-transfer-encoding; bh=+Oo8fOCFF2pPgFgcnJ4TixU1L+C4Y+KzyDBYbT36rAU=; b=DyEs79nyY2LmPvXJSzKTQM0S+AtYQX4+jRRPmS7h4UclfWbjQ1bE3KdCfleSG8SIAa 4JJ7WMNyE1QHfm+q2kUxtvR1kLzMMHi5OKvxzaSmu6ilC9KDS+RUJuc1qblCwmOFe64l 8f9dWIA2b4mwX4D/ThK3Sc9joaWQccaI2tOHSOZtrvKmsTD4cgSV6c7oQBks3NJBqZt6 VEAdbucL1ecuJ7UvlyxFIB26lQTKmgg9pPbgy3UefBCSeHk8MWzbhoAAfujfc3i2VZUf FzyJnJj3MGfVGdqtdsqQchRLK2fUGlPh0Uk42DPX+6FwGO42RwYQbNOz6s+E+MDvLMtq jiig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:mime-version:content-transfer-encoding; bh=+Oo8fOCFF2pPgFgcnJ4TixU1L+C4Y+KzyDBYbT36rAU=; b=lcqy4D3UWlc6T6RrVSRGbABKnB1LVmZPrslaK/A9ciIbSHqG2JibxhOCnQPNbmgTBS U3RZsBRI5HItBITwDC5qczkFNF2aypD008P9BX6HmgTInIIrFFXZKfEgR7/7nfDnTASV e4ZgSPD9YgDv1gaswvTRQ26ZTuL34kFCbmkuzNuM5/hNM9LVbIi6qpX0BnKdhAd8yrNW 3qJbSg0wGJPnI+myQdY/zchbihTfcThlHPNm8jhSyDHZvCeiV0f9GI8AfFpQ9UwY8nAr d8++cXabfBt369DB0r3HZZcL198/PqgGBbOoxOLbsN16H8eUDVIKuWB8GXNP1xupf0FQ 5MAA== X-Gm-Message-State: AOPr4FU742/btzEeErUMIFHFnUdRfp7h8h2w5Be8Um2Tl3WuFameVbasN/3L4QrAINDa+A== X-Received: by 10.66.225.235 with SMTP id rn11mr8777534pac.138.1460508875104; Tue, 12 Apr 2016 17:54:35 -0700 (PDT) Received: from [192.168.1.168] (118-167-9-168.dynamic.hinet.net. [118.167.9.168]) by smtp.gmail.com with ESMTPSA id p26sm46308022pfi.84.2016.04.12.17.54.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Apr 2016 17:54:33 -0700 (PDT) Message-ID: <1460508870.6009.3.camel@ingics.com> Subject: [RFT][PATCH 2/2] i2c: sun6i-p2wi: Prevent potential division by zero From: Axel Lin To: Wolfram Sang Cc: Boris BREZILLON , Maxime Ripard , Chen-Yu Tsai , linux-i2c@vger.kernel.org Date: Wed, 13 Apr 2016 08:54:30 +0800 In-Reply-To: <1460508570.6009.1.camel@ingics.com> References: <1460508570.6009.1.camel@ingics.com> X-Mailer: Evolution 3.16.5-1ubuntu3.1 Mime-Version: 1.0 Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org Make sure we don't OOPS in case clock-frequency is set to 0 in a DT. The variable set here is later used as a divisor. Signed-off-by: Axel Lin Acked-by: Boris Brezillon --- drivers/i2c/busses/i2c-sun6i-p2wi.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/i2c/busses/i2c-sun6i-p2wi.c b/drivers/i2c/busses/i2c-sun6i-p2wi.c index 7668e2e..6448291 100644 --- a/drivers/i2c/busses/i2c-sun6i-p2wi.c +++ b/drivers/i2c/busses/i2c-sun6i-p2wi.c @@ -202,6 +202,11 @@ static int p2wi_probe(struct platform_device *pdev) return -EINVAL; } + if (clk_freq == 0) { + dev_err(dev, "clock-frequency is set to 0 in DT\n"); + return -EINVAL; + } + if (of_get_child_count(np) > 1) { dev_err(dev, "P2WI only supports one slave device\n"); return -EINVAL;