From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754679AbbL3LTJ (ORCPT ); Wed, 30 Dec 2015 06:19:09 -0500 Received: from mailout3.w1.samsung.com ([210.118.77.13]:52483 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754475AbbL3LTF (ORCPT ); Wed, 30 Dec 2015 06:19:05 -0500 X-AuditID: cbfec7f5-f79b16d000005389-a0-5683bda6eb75 From: Andrzej Hajda To: "Rafael J. Wysocki" , Viresh Kumar Cc: Andrzej Hajda , Bartlomiej Zolnierkiewicz , Marek Szyprowski , linux-pm@vger.kernel.org (open list:CPU FREQUENCY DRIVERS), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] cpufreq-dt: fix handling regulator_get_voltage result Date: Wed, 30 Dec 2015 12:18:42 +0100 Message-id: <1451474324-15481-1-git-send-email-a.hajda@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrOJMWRmVeSWpSXmKPExsVy+t/xq7rL9jaHGUz5wmFxa905VouNM9az WlzeNYfN4nPvEUaLtUfuslucOX0JKPHVw4Hd4861PWweW662s3j0bVnF6PF5k1wASxSXTUpq TmZZapG+XQJXxtlJDSwFr7kqnu2fxNLA+Jaji5GTQ0LARGJ+6x12CFtM4sK99WxdjFwcQgJL GSWWtp9mgXCamCQ6//xlAqliE9CU+Lv5JhuILSIQKtGz+BE7SBGzwA9Gib9LmlhAEsICbhJt Db+ZQWwWAVWJWRvbGUFsXgFnicdTz7BBrJOTOHlsMusERu4FjAyrGEVTS5MLipPSc430ihNz i0vz0vWS83M3MUKC4+sOxqXHrA4xCnAwKvHwnhBqDhNiTSwrrsw9xCjBwawkwrtgE1CINyWx siq1KD++qDQntfgQozQHi5I478xd70OEBNITS1KzU1MLUotgskwcnFINjFO5lu4I5J1/UTJy TaPK0iOWnzR/LAzfkqi6Pm7rHZbZN99wlu+9bxipLdV4SlGdh+l1bW+E/XvptIYpn84uvbs3 8lvPpTmid57w71GZGBdnUKue46D8XMzXdpbrXLl5pz+kZVrb5MpMcZ16Ltrnoc6RI6opxSeW H7Yxf/ojdnJhhnWuRnHyXCWW4oxEQy3mouJEAOv9Q+kKAgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The function can return negative values so it should be assigned to signed type. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda --- drivers/cpufreq/cpufreq-dt.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c index 1ceece9..9bc37c4 100644 --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c @@ -50,7 +50,8 @@ static int set_target(struct cpufreq_policy *policy, unsigned int index) struct private_data *priv = policy->driver_data; struct device *cpu_dev = priv->cpu_dev; struct regulator *cpu_reg = priv->cpu_reg; - unsigned long volt = 0, volt_old = 0, tol = 0; + unsigned long volt = 0, tol = 0; + int volt_old = 0; unsigned int old_freq, new_freq; long freq_Hz, freq_exact; int ret; @@ -83,7 +84,7 @@ static int set_target(struct cpufreq_policy *policy, unsigned int index) opp_freq / 1000, volt); } - dev_dbg(cpu_dev, "%u MHz, %ld mV --> %u MHz, %ld mV\n", + dev_dbg(cpu_dev, "%u MHz, %d mV --> %u MHz, %ld mV\n", old_freq / 1000, (volt_old > 0) ? volt_old / 1000 : -1, new_freq / 1000, volt ? volt / 1000 : -1); -- 1.9.1