From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751917AbcBKGvF (ORCPT ); Thu, 11 Feb 2016 01:51:05 -0500 Received: from guitar.tcltek.co.il ([192.115.133.116]:42263 "EHLO mx.tkos.co.il" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751034AbcBKGvD (ORCPT ); Thu, 11 Feb 2016 01:51:03 -0500 Date: Thu, 11 Feb 2016 08:50:57 +0200 From: Baruch Siach To: Guenter Roeck Cc: Greg Kroah-Hartman , Jiri Slaby , linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel-testers@vger.kernel.org Subject: Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE Message-ID: <20160211065057.GA17047@tarshish> References: <1455030539-10798-1-git-send-email-linux@roeck-us.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1455030539-10798-1-git-send-email-linux@roeck-us.net> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Guenter, On Tue, Feb 09, 2016 at 07:08:59AM -0800, Guenter Roeck wrote: > IS_ERR_VALUE() assumes that its parameter is an unsigned long. > It can not be used to check if an unsigned int reflects an error. > Doing so can result in the following build warning. > > drivers/tty/serial/digicolor-usart.c: In function ‘digicolor_uart_probe’: > include/linux/err.h:21:38: warning: > comparison is always false due to limited range of data type > drivers/tty/serial/digicolor-usart.c:485:6: note: > in expansion of macro ‘IS_ERR_VALUE’ > > If that warning is seen, an error return from platform_get_irq() is missed. > > Signed-off-by: Guenter Roeck Acked-by: Baruch Siach Thanks, baruch > --- > drivers/tty/serial/digicolor-usart.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/tty/serial/digicolor-usart.c b/drivers/tty/serial/digicolor-usart.c > index a80cdad114f3..02ad6953b167 100644 > --- a/drivers/tty/serial/digicolor-usart.c > +++ b/drivers/tty/serial/digicolor-usart.c > @@ -453,7 +453,7 @@ static struct uart_driver digicolor_uart = { > static int digicolor_uart_probe(struct platform_device *pdev) > { > struct device_node *np = pdev->dev.of_node; > - int ret, index; > + int irq, ret, index; > struct digicolor_port *dp; > struct resource *res; > struct clk *uart_clk; > @@ -481,9 +481,10 @@ static int digicolor_uart_probe(struct platform_device *pdev) > if (IS_ERR(dp->port.membase)) > return PTR_ERR(dp->port.membase); > > - dp->port.irq = platform_get_irq(pdev, 0); > - if (IS_ERR_VALUE(dp->port.irq)) > - return dp->port.irq; > + irq = platform_get_irq(pdev, 0); > + if (irq < 0) > + return irq; > + dp->port.irq = irq; > > dp->port.iotype = UPIO_MEM; > dp->port.uartclk = clk_get_rate(uart_clk); -- http://baruch.siach.name/blog/ ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -