Skip to content

Commit 656493d

Browse files
Yuval Mintzdavem330
authored andcommitted
bnx2x: Allow VF rss on higher PFs
bnx2x driver uses incorrect PF identifier to configure (in HW) the VF interrupt scheme; As a result, in multi-function mode the configuration for PFs with a high index (4+) will overflow and the PF will erroneously configure a single ISR scheme for its VFs. As a result, if such a VF uses multiple queues, interrupt generation will stop after VF receives an Rx packet or sends a Tx packet on a queue other than queue[0]. Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent c6993df commit 656493d

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1446,12 +1446,12 @@ static void bnx2x_vf_igu_reset(struct bnx2x *bp, struct bnx2x_virtf *vf)
14461446
if (vf->cfg_flags & VF_CFG_INT_SIMD)
14471447
val |= IGU_VF_CONF_SINGLE_ISR_EN;
14481448
val &= ~IGU_VF_CONF_PARENT_MASK;
1449-
val |= BP_FUNC(bp) << IGU_VF_CONF_PARENT_SHIFT; /* parent PF */
1449+
val |= (BP_ABS_FUNC(bp) >> 1) << IGU_VF_CONF_PARENT_SHIFT;
14501450
REG_WR(bp, IGU_REG_VF_CONFIGURATION, val);
14511451

14521452
DP(BNX2X_MSG_IOV,
1453-
"value in IGU_REG_VF_CONFIGURATION of vf %d after write %x\n",
1454-
vf->abs_vfid, REG_RD(bp, IGU_REG_VF_CONFIGURATION));
1453+
"value in IGU_REG_VF_CONFIGURATION of vf %d after write is 0x%08x\n",
1454+
vf->abs_vfid, val);
14551455

14561456
bnx2x_pretend_func(bp, BP_ABS_FUNC(bp));
14571457

0 commit comments

Comments
 (0)