From: Jiri Slaby Since tty->index is signed and may be < 0, we should assign this to int not uint. There is already a check to ensure if it is not negative, but gcc complains with -W flag enabled and it is perfectly correct: drivers/char/isicom.c:953: warning: comparison of unsigned expression < 0 is always false Fix this issue by converting `line' variable from uint to int. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton --- drivers/char/isicom.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/char/isicom.c~char-isicom-fix-tty-index-check drivers/char/isicom.c --- a/drivers/char/isicom.c~char-isicom-fix-tty-index-check +++ a/drivers/char/isicom.c @@ -946,8 +946,8 @@ static int isicom_open(struct tty_struct { struct isi_port *port; struct isi_board *card; - unsigned int line, board; - int error; + unsigned int board; + int error, line; line = tty->index; if (line < 0 || line > PORT_COUNT-1) _