staging/rdma/hfi1: do not use u8 to store a 32-bit integer
authorNicolas Iooss <nicolas.iooss_linux@m4x.org>
Sun, 20 Sep 2015 14:07:15 +0000 (16:07 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Sep 2015 01:42:27 +0000 (03:42 +0200)
commit49c3203707c9feebee26fec02f67b0431ac0a72a
tree0e4fbb5b8138a88eebfe23128f04ddd97d4778c0
parent713519c710749d72bfad844579e10017af77bf84
staging/rdma/hfi1: do not use u8 to store a 32-bit integer

hfi1_rc_hdrerr() stores the result of be32_to_cpu() into opcode, which
is a local variable declared as u8.  Later this variable is used in a
24-bit logical right shift, which makes clang complains (when building
an allmodconfig kernel with LLVMLinux patches):

    drivers/staging/rdma/hfi1/rc.c:2399:9: warning: shift count >= width
    of type [-Wshift-count-overflow]
        opcode >>= 24;
               ^   ~~

All of this lead to the point that opcode may have been designed to be
a 32-bit integer instead of an 8-bit one.  Therefore make this variable
u32.

Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Acked-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rdma/hfi1/rc.c