Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp611801ybl; Fri, 24 Jan 2020 06:25:32 -0800 (PST) X-Google-Smtp-Source: APXvYqyn3sdUqc35sCWw64KdNUjqU7Tsv8/4tqT7XDYVG/F13jSzqEEWJqMlgNQAzeUyr8lk5PRi X-Received: by 2002:a9d:6acd:: with SMTP id m13mr2818443otq.313.1579875932424; Fri, 24 Jan 2020 06:25:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579875932; cv=none; d=google.com; s=arc-20160816; b=a9XIIhKQPyVAlUmcaA671W4OYqa45B1ZWQB0H0cG8hgQOQAx7j4zO//Q0RJ1Z+jsyw Tj1qS6ihKzHsZzJ079WE7u3GrCXblLAzuZDGRkZn6Rbe5k5RruaBYabjh1iQpaeofci5 I9EtXzWNt48WqmeWF1YM+5QMJhZGKX08Vizy1kwungmQj6OYuM7f+57VQs/4guD8AKc6 NFoWDUYJJMjjvIGWSw5wVq3R18TMg+OUPKeq8ycAEytWNXHN6MGoLqKnIL6gNSmabhkJ 1XdLQUuS3K+n8YA6sP8jvItxZvvPwewnwLnVqn0uUhU8c2JSpoSZpc6KptyvjxK/1uUL QvpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=hdcmUV3+uZ1bSDFswy3AFij8w1qOM+rcAxxF7RWjtsw=; b=vsTNOB85t4/2uIyGR+MEf8pfa8yaOhCOYExrF9vND78cXaSSsfbocIVgpbt7ve1nna XJRrvgOh8waHvrgBEO6AHCSKG559ydEaBAEhbJAbo55P26wcs5alDLUTobjJJZUjB2If 08CtFTWr3qZAPeBJcgH/+2FaOC6s3xq9fnC94zUe/9BcglKH5qg/XuxI+2DCPVvyS/VZ WXOz9zv7TtefrehNt4U99hFAe6m4TYnvvb1D31HmpZy8lzXpWZkmxeKAbq9zouaFMO6P 9VFvpMIeVkyGLFB7Zb9n7Pf20m28NRZl5Czh00kwJO4YecLWKMz5DiLNDHvS+SP++bFl n2qQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="NGAp/ulO"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i13si2782301otc.228.2020.01.24.06.25.20; Fri, 24 Jan 2020 06:25:32 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="NGAp/ulO"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388719AbgAXLLu (ORCPT + 99 others); Fri, 24 Jan 2020 06:11:50 -0500 Received: from mail.kernel.org ([198.145.29.99]:47868 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388725AbgAXLLs (ORCPT ); Fri, 24 Jan 2020 06:11:48 -0500 Received: from localhost (ip-213-127-102-57.ip.prioritytelecom.net [213.127.102.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id F2D6520663; Fri, 24 Jan 2020 11:11:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579864307; bh=GIE21lGTg8zeMS92gvovzXBxYOWIpN9X8YOBQHHr4xk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NGAp/ulODcS/wxg9+2GW6z6UvioOkj66eYkC3JS6sYh6Uo7j+8a+/CvbnyLgucAXs mcYiaFtNvY1SNix3HlYKSzXktTXW+xyEqfqfKxNTWLxaz1nWj3RcH3YnVbM2tonq+I N3RWHR7pUFBd4izXvIUEEbUR2OQVDxTrk4qbShaU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Chen-Yu Tsai , Maxime Ripard , Daniel Lezcano , Sasha Levin Subject: [PATCH 4.19 230/639] clocksource/drivers/sun5i: Fail gracefully when clock rate is unavailable Date: Fri, 24 Jan 2020 10:26:40 +0100 Message-Id: <20200124093115.675229393@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200124093047.008739095@linuxfoundation.org> References: <20200124093047.008739095@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chen-Yu Tsai [ Upstream commit e7e7e0d7beafebd11b0c065cd5fbc1e5759c5aab ] If the clock tree is not fully populated when the timer-sun5i init code is called, attempts to get the clock rate for the timer would fail and return 0. Make the init code for both clock events and clocksource check the returned clock rate and fail gracefully if the result is 0, instead of causing a divide by 0 exception later on. Fixes: 4a59058f0b09 ("clocksource/drivers/sun5i: Refactor the current code") Signed-off-by: Chen-Yu Tsai Acked-by: Maxime Ripard Signed-off-by: Daniel Lezcano Signed-off-by: Sasha Levin --- drivers/clocksource/timer-sun5i.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/clocksource/timer-sun5i.c b/drivers/clocksource/timer-sun5i.c index 3b56ea3f52afc..552c5254390cb 100644 --- a/drivers/clocksource/timer-sun5i.c +++ b/drivers/clocksource/timer-sun5i.c @@ -202,6 +202,11 @@ static int __init sun5i_setup_clocksource(struct device_node *node, } rate = clk_get_rate(clk); + if (!rate) { + pr_err("Couldn't get parent clock rate\n"); + ret = -EINVAL; + goto err_disable_clk; + } cs->timer.base = base; cs->timer.clk = clk; @@ -275,6 +280,11 @@ static int __init sun5i_setup_clockevent(struct device_node *node, void __iomem } rate = clk_get_rate(clk); + if (!rate) { + pr_err("Couldn't get parent clock rate\n"); + ret = -EINVAL; + goto err_disable_clk; + } ce->timer.base = base; ce->timer.ticks_per_jiffy = DIV_ROUND_UP(rate, HZ); -- 2.20.1