qed (gcc13): use u16 for fid to be big enough
[ Upstream commit 7d84118229bf7f7290438c85caa8e49de52d50c1 ] gcc 13 correctly reports overflow in qed_grc_dump_addr_range(): In file included from drivers/net/ethernet/qlogic/qed/qed.h:23, from drivers/net/ethernet/qlogic/qed/qed_debug.c:10: drivers/net/ethernet/qlogic/qed/qed_debug.c: In function 'qed_grc_dump_addr_range': include/linux/qed/qed_if.h:1217:9: error: overflow in conversion from 'int' to 'u8' {aka 'unsigned char'} changes value from '(int)vf_id << 8 | 128' to '128' [-Werror=overflow] We do: u8 fid; ... fid = vf_id << 8 | 128; Since fid is 16bit (and the stored value above too), fid should be u16, not u8. Fix that. Cc: Martin Liska <mliska@suse.cz> Cc: Ariel Elior <aelior@marvell.com> Cc: Manish Chopra <manishc@marvell.com> Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://lore.kernel.org/r/20221031114354.10398-1-jirislaby@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
a10e1530c4
commit
7dccd53ec7
@ -1972,9 +1972,10 @@ static u32 qed_grc_dump_addr_range(struct qed_hwfn *p_hwfn,
|
||||
u8 split_id)
|
||||
{
|
||||
struct dbg_tools_data *dev_data = &p_hwfn->dbg_info;
|
||||
u8 port_id = 0, pf_id = 0, vf_id = 0, fid = 0;
|
||||
u8 port_id = 0, pf_id = 0, vf_id = 0;
|
||||
bool read_using_dmae = false;
|
||||
u32 thresh;
|
||||
u16 fid;
|
||||
|
||||
if (!dump)
|
||||
return len;
|
||||
|
Reference in New Issue
Block a user