Commit 4870e704 authored by Yuval Mintz's avatar Yuval Mintz Committed by David S. Miller

qed: FLR of active VFs might lead to FW assert

Driver never bothered marking the VF's vport with the VF's sw_fid.
As a result, FLR flows are not going to clean those vports.

If the vport was active when FLRed, re-activating it would lead
to a FW assertion.

Fixes: dacd88d6 ("qed: IOV l2 functionality")
Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c0451fe1
...@@ -561,9 +561,18 @@ struct qed_dev { ...@@ -561,9 +561,18 @@ struct qed_dev {
static inline u8 qed_concrete_to_sw_fid(struct qed_dev *cdev, static inline u8 qed_concrete_to_sw_fid(struct qed_dev *cdev,
u32 concrete_fid) u32 concrete_fid)
{ {
u8 vfid = GET_FIELD(concrete_fid, PXP_CONCRETE_FID_VFID);
u8 pfid = GET_FIELD(concrete_fid, PXP_CONCRETE_FID_PFID); u8 pfid = GET_FIELD(concrete_fid, PXP_CONCRETE_FID_PFID);
u8 vf_valid = GET_FIELD(concrete_fid,
PXP_CONCRETE_FID_VFVALID);
u8 sw_fid;
return pfid; if (vf_valid)
sw_fid = vfid + MAX_NUM_PFS;
else
sw_fid = pfid;
return sw_fid;
} }
#define PURE_LB_TC 8 #define PURE_LB_TC 8
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment