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

Arnd Bergmann <[email protected]> Tue, 09 Feb 2016 16:26:38 +0100
Newsgroups org.kernel.vger.kernel-testers,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-serial
Message-ID <4571887.rTPndCnv20@wuerfel>
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.
>=20
> drivers/tty/serial/digicolor-usart.c: In function =E2=80=98digicolor_=
uart_probe=E2=80=99:
> 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 =E2=80=98IS_ERR_VALUE=E2=80=99
>=20
> If that warning is seen, an error return from platform_get_irq() is m=
issed.
>=20
>=20

The patch looks correct to me, but what compiler version and which kern=
el
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