• Bart Van Assche's avatar
    scsi: stex: Fix gcc 13 warnings · 6d074ce2
    Bart Van Assche authored
    gcc 13 may assign another type to enumeration constants than gcc 12. Split
    the large enum at the top of source file stex.c such that the type of the
    constants used in time expressions is changed back to the same type chosen
    by gcc 12. This patch suppresses compiler warnings like this one:
    
    In file included from ./include/linux/bitops.h:7,
                     from ./include/linux/kernel.h:22,
                     from drivers/scsi/stex.c:13:
    drivers/scsi/stex.c: In function ‘stex_common_handshake’:
    ./include/linux/typecheck.h:12:25: error: comparison of distinct pointer types lacks a cast [-Werror]
       12 |         (void)(&__dummy == &__dummy2); \
          |                         ^~
    ./include/linux/jiffies.h:106:10: note: in expansion of macro ‘typecheck’
      106 |          typecheck(unsigned long, b) && \
          |          ^~~~~~~~~
    drivers/scsi/stex.c:1035:29: note: in expansion of macro ‘time_after’
     1035 |                         if (time_after(jiffies, before + MU_MAX_DELAY * HZ)) {
          |                             ^~~~~~~~~~
    
    See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107405.
    
    Cc: stable@vger.kernel.org
    Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
    Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
    Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
    Link: https://lore.kernel.org/r/20230529195034.3077-1-bvanassche@acm.orgSigned-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    6d074ce2
stex.c 48.1 KB