• Nathan Chancellor's avatar
    scsi: qla2xxx: Simplify conditional check · 0bfe7d3c
    Nathan Chancellor authored
    Clang generates a warning when it sees a logical not followed by a
    conditional operator like ==, >, or < because it thinks that the logical
    not should be applied to the whole statement:
    
    drivers/scsi/qla2xxx/qla_nx.c:3702:7: warning: logical not is only
    applied to the left hand side of this comparison
    [-Wlogical-not-parentheses]
                    if (!qla2x00_eh_wait_for_pending_commands(vha, 0, 0,
                        ^
    drivers/scsi/qla2xxx/qla_nx.c:3702:7: note: add parentheses after the
    '!' to evaluate the comparison first
                    if (!qla2x00_eh_wait_for_pending_commands(vha, 0, 0,
                        ^
                         (
    drivers/scsi/qla2xxx/qla_nx.c:3702:7: note: add parentheses around left
    hand side expression to silence this warning
                    if (!qla2x00_eh_wait_for_pending_commands(vha, 0, 0,
                        ^
                        (
    1 warning generated.
    
    It assumes the author might have made a mistake in their logic:
    
    if (!a == b) -> if (!(a == b))
    
    Sometimes that is the case; other times, it's just a super convoluted
    way of saying 'if (a)' when b = 0:
    
    if (!1 == 0) -> if (0 == 0) -> if (true)
    
    Alternatively:
    
    if (!1 == 0) -> if (!!1) -> if (1)
    
    Simplify this comparison so that Clang doesn't complain.
    
    Link: https://github.com/ClangBuiltLinux/linux/issues/80Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    0bfe7d3c
qla_nx.c 116 KB