lib: sign conflict in sbi_tlb_entry_process()
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Mon, 21 Jun 2021 19:50:10 +0000 (21:50 +0200)
committerAnup Patel <anup@brainfault.org>
Tue, 22 Jun 2021 13:42:22 +0000 (19:12 +0530)
Compiling sbi_tlb_entry_process() with GCC 11 and -Wextra yields:

lib/sbi/sbi_tlb.c: In function ‘sbi_tlb_process_count’:
lib/sbi/sbi_tlb.c:206:31:
error: comparison of integer expressions of different signedness:
‘u32’ {aka ‘unsigned int’} and ‘int’ [-Werror=sign-compare]
  206 |                 if (deq_count > count)

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Xiang W <wxjstz@126.com>
lib/sbi/sbi_tlb.c

index 2ba1b7b..8bbe92b 100644 (file)
@@ -193,10 +193,11 @@ static void sbi_tlb_entry_process(struct sbi_tlb_info *tinfo)
        }
 }
 
-static void sbi_tlb_process_count(struct sbi_scratch *scratch, int count)
+static void sbi_tlb_process_count(struct sbi_scratch *scratch,
+                                 unsigned int count)
 {
        struct sbi_tlb_info tinfo;
-       u32 deq_count = 0;
+       unsigned int deq_count = 0;
        struct sbi_fifo *tlb_fifo =
                        sbi_scratch_offset_ptr(scratch, tlb_fifo_off);