From: Eric Sesterhenn another signdness warning from gcc 4.1 drivers/scsi/osst.c:5154: warning: comparison of unsigned expression < 0 is always false The problem is that blk is defined as unsigned, but all usages of it are normal int cases. osst_get_frame_position() and osst_get_sector() return ints and can return negative values. If blk stays an unsigned int, the error check is useless. Signed-off-by: Eric Sesterhenn Cc: Willem Riede Cc: James Bottomley Signed-off-by: Andrew Morton --- drivers/scsi/osst.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN drivers/scsi/osst.c~signedness-issue-in-drivers-scsi-osstc drivers/scsi/osst.c --- a/drivers/scsi/osst.c~signedness-issue-in-drivers-scsi-osstc +++ a/drivers/scsi/osst.c @@ -4843,8 +4843,7 @@ static int os_scsi_tape_close(struct ino static int osst_ioctl(struct inode * inode,struct file * file, unsigned int cmd_in, unsigned long arg) { - int i, cmd_nr, cmd_type, retval = 0; - unsigned int blk; + int i, cmd_nr, cmd_type, blk, retval = 0; struct st_modedef * STm; struct st_partstat * STps; struct osst_request * SRpnt = NULL; _