mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-06 03:06:50 -04:00
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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
713519c710
commit
49c3203707
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user