]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
bnx2x: Fix logic to get total no. of PFs per engine
authorManish Chopra <manishc@marvell.com>
Wed, 11 Dec 2019 17:59:56 +0000 (09:59 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 12 Jan 2020 11:11:57 +0000 (12:11 +0100)
[ Upstream commit ee699f89bdbaa19c399804504241b5c531b48888 ]

Driver doesn't calculate total number of PFs configured on a
given engine correctly which messed up resources in the PFs
loaded on that engine, leading driver to exceed configuration
of resources (like vlan filters etc.) beyond the limit per
engine, which ended up with asserts from the firmware.

Signed-off-by: Manish Chopra <manishc@marvell.com>
Signed-off-by: Ariel Elior <aelior@marvell.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h

index 4e091a11daaf33e3707d044c6a29a1002ebd631f..52bce009d096a2575c9c28bdf348ca354d0349fa 100644 (file)
@@ -1112,7 +1112,7 @@ static inline u8 bnx2x_get_path_func_num(struct bnx2x *bp)
                for (i = 0; i < E1H_FUNC_MAX / 2; i++) {
                        u32 func_config =
                                MF_CFG_RD(bp,
-                                         func_mf_config[BP_PORT(bp) + 2 * i].
+                                         func_mf_config[BP_PATH(bp) + 2 * i].
                                          config);
                        func_num +=
                                ((func_config & FUNC_MF_CFG_FUNC_HIDE) ? 0 : 1);