Commit b0ef3ed4 authored by Jiayi Ye's avatar Jiayi Ye Committed by Greg Kroah-Hartman
Browse files

staging: rts5208: fix case of bitwise operator on zero in ms.c



If a variable has value 0, then there is no point in combining it with other things with |, as for any
 x, 0 | x is just x. The following semantic patch finds this problem.
    @@
    expression x,e,e1;
    statement S;
    @@

    if (x == 0) {
      <... when != x = e1
          when != while(...) S
          when != for(...;...;...) S
    (
    *  x |= e
    |
    *  x | e
    )
      ...>
    }

Signed-off-by: default avatarJiayi Ye <yejiayily@gmail.com>
Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent cb6c1ee3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2599,9 +2599,9 @@ static int mspro_rw_multi_sector(struct scsi_cmnd *srb,

			if (count > sector_cnt) {
				if (mode_2k)
					ms_card->seq_mode |= MODE_2K_SEQ;
					ms_card->seq_mode = MODE_2K_SEQ;
				else
					ms_card->seq_mode |= MODE_512_SEQ;
					ms_card->seq_mode = MODE_512_SEQ;
			}
		} else {
			count = sector_cnt;