Re: [PATCH] tty/serial: digicolor: Fix bad usage of IS_ERR_VALUE

From: Arnd Bergmann
Date: Tue Feb 09 2016 - 10:28:10 EST


On Tuesday 09 February 2016 07:08:59 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.
>
>

The patch looks correct to me, but what compiler version and which kernel
tree is it that triggered the warning?

Andrzej Hajda just modified the definition of IS_ERR_VALUE(), and the
changes are still under discussion, but I don't see that warning with
any of the versions.

Arnd