From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756926AbbIXOBx (ORCPT ); Thu, 24 Sep 2015 10:01:53 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:50436 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755976AbbIXOBU (ORCPT ); Thu, 24 Sep 2015 10:01:20 -0400 X-AuditID: cbfec7f4-f79c56d0000012ee-81-5604022fa927 From: Andrzej Hajda To: linux-kernel@vger.kernel.org Cc: Andrzej Hajda , Bartlomiej Zolnierkiewicz , Marek Szyprowski , Daniel Lezcano , Thomas Gleixner Subject: [PATCH 11/19] clocksource: fix __ftm_clk_init result Date: Thu, 24 Sep 2015 16:00:19 +0200 Message-id: <1443103227-25612-12-git-send-email-a.hajda@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1443103227-25612-1-git-send-email-a.hajda@samsung.com> References: <1443103227-25612-1-git-send-email-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupkluLIzCtJLcpLzFFi42I5/e/4NV19JpYwg+/PmS1urTvHarFxxnpW i3mfZS0u75rDZrH2yF12i82bpjI7sHncubaHzePduXPsHn1bVjF6fN4kF8ASxWWTkpqTWZZa pG+XwJXRfSus4Bh/xb6ZH5kaGG/wdDFyckgImEjsWPydBcIWk7hwbz1bFyMXh5DAUkaJ9Qde skI4TUwSvxfcZQOpYhPQlPi7+SaYLSKgILG59xlYEbPAE0aJ7/O3gSWEBWwl/n68B2azCKhK dC66CbaCV8BFYu2a80wQ6+QkTh6bzApicwLF307dBBYXEnCWOHFkFtsERt4FjAyrGEVTS5ML ipPScw31ihNzi0vz0vWS83M3MUIC6MsOxsXHrA4xCnAwKvHwOmgxhwmxJpYVV+YeYpTgYFYS 4eV4DxTiTUmsrEotyo8vKs1JLT7EKM3BoiTOO3fX+xAhgfTEktTs1NSC1CKYLBMHp1QDY+Ba GbHcGc+/S1oFas3gZF0UV/Cp0H/rlFJzBYtnGs1T2PlLGrfNeHO7rNXtSWhHzoyYGuuXB20Y N6Ts+lfzb6vjh+3MF/dyBcnX5c86JTjTeXpPgHzW5l122UaVu38+fLT6xbyM48L/FlqLJ3nz SfX5/uHpeHp25umAxKiQjgtXf7D/DJhjpMRSnJFoqMVcVJwIAKF0ItccAgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The function tries to return clock frequency (unsigned long) or error (int < 0). Using int as a result could be dangerous. On the other side caller is not interested in error value, so the best solution is to return frequency or zero in case of error, for this unsigned long is OK. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda --- Hi, To avoid problems with too many mail recipients I have sent whole patchset only to LKML. Anyway patches have no dependencies. Regards Andrzej --- drivers/clocksource/fsl_ftm_timer.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/clocksource/fsl_ftm_timer.c b/drivers/clocksource/fsl_ftm_timer.c index ef43469..11a7ae7 100644 --- a/drivers/clocksource/fsl_ftm_timer.c +++ b/drivers/clocksource/fsl_ftm_timer.c @@ -248,7 +248,7 @@ static int __init ftm_clocksource_init(unsigned long freq) return 0; } -static int __init __ftm_clk_init(struct device_node *np, char *cnt_name, +static unsigned long __init __ftm_clk_init(struct device_node *np, char *cnt_name, char *ftm_name) { struct clk *clk; @@ -257,19 +257,19 @@ static int __init __ftm_clk_init(struct device_node *np, char *cnt_name, clk = of_clk_get_by_name(np, cnt_name); if (IS_ERR(clk)) { pr_err("ftm: Cannot get \"%s\": %ld\n", cnt_name, PTR_ERR(clk)); - return PTR_ERR(clk); + return 0; } err = clk_prepare_enable(clk); if (err) { pr_err("ftm: clock failed to prepare+enable \"%s\": %d\n", cnt_name, err); - return err; + return 0; } clk = of_clk_get_by_name(np, ftm_name); if (IS_ERR(clk)) { pr_err("ftm: Cannot get \"%s\": %ld\n", ftm_name, PTR_ERR(clk)); - return PTR_ERR(clk); + return 0; } err = clk_prepare_enable(clk); if (err) -- 1.9.1