From: Mintz, Yuval Date: Sun, 19 Mar 2017 11:08:13 +0000 (+0200) Subject: qed: Clean VF malicious indication when disabling IOV X-Git-Tag: v4.1.12-107.0.20170801_2000~102 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=70ad723bf4fa3174dcccfe4b6e11169279921d9a;p=users%2Fjedix%2Flinux-maple.git qed: Clean VF malicious indication when disabling IOV Orabug: 25933053, 26439680 When a VF is considered malicious, driver handling of the VF FLR flow would clean said indication - but not if the FLR is part of an sriov-disable flow. That leads to further issues, as PF wouldn't re-enable the previously malicious VF when sriov is re-enabled. No reason for that - simply clean malicious indications in the sriov-disable flow as well. Signed-off-by: Yuval Mintz Signed-off-by: David S. Miller Signed-off-by: Brian Maly --- diff --git a/drivers/net/ethernet/qlogic/qed/qed_sriov.c b/drivers/net/ethernet/qlogic/qed/qed_sriov.c index fb14f8a18c6f4..9cef64cdcaa16 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_sriov.c +++ b/drivers/net/ethernet/qlogic/qed/qed_sriov.c @@ -692,6 +692,11 @@ static int qed_iov_enable_vf_access(struct qed_hwfn *p_hwfn, u32 igu_vf_conf = IGU_VF_CONF_FUNC_EN; int rc; + /* It's possible VF was previously considered malicious - + * clear the indication even if we're only going to disable VF. + */ + vf->b_malicious = false; + if (vf->to_disable) return 0; @@ -704,9 +709,6 @@ static int qed_iov_enable_vf_access(struct qed_hwfn *p_hwfn, qed_iov_vf_igu_reset(p_hwfn, p_ptt, vf); - /* It's possible VF was previously considered malicious */ - vf->b_malicious = false; - rc = qed_mcp_config_vf_msix(p_hwfn, p_ptt, vf->abs_vf_id, vf->num_sbs); if (rc) return rc;