diff options
author | Nicolas Iooss <nicolas.iooss_linux@m4x.org> | 2015-09-20 14:07:15 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-09-29 01:42:27 (GMT) |
commit | 49c3203707c9feebee26fec02f67b0431ac0a72a (patch) | |
tree | 0e4fbb5b8138a88eebfe23128f04ddd97d4778c0 /drivers/staging/rdma/hfi1 | |
parent | 713519c710749d72bfad844579e10017af77bf84 (diff) | |
download | linux-49c3203707c9feebee26fec02f67b0431ac0a72a.tar.xz |
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>
Diffstat (limited to 'drivers/staging/rdma/hfi1')
-rw-r--r-- | drivers/staging/rdma/hfi1/rc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/rdma/hfi1/rc.c b/drivers/staging/rdma/hfi1/rc.c index 632dd5b..1e9caeb 100644 --- a/drivers/staging/rdma/hfi1/rc.c +++ b/drivers/staging/rdma/hfi1/rc.c @@ -2383,7 +2383,7 @@ void hfi1_rc_hdrerr( struct hfi1_other_headers *ohdr; struct hfi1_ibport *ibp = to_iport(qp->ibqp.device, qp->port_num); int diff; - u8 opcode; + u32 opcode; u32 psn; /* Check for GRH */ |