From a1f761e16f774ed6eb4721d589bf3827e9519534 Mon Sep 17 00:00:00 2001 From: Rasesh Mody Date: Thu, 22 Dec 2016 16:49:59 -0800 Subject: [PATCH] net/qede/base: fix multiple acquisition requests by VF There are certain conditions under which VF would infinitely send ACQUIRE messages, as it will fail to understand that PF has rejected the ACQUIRE request. Fix to reject multiple acquisition requests by VF. Fixes: 22d07d939c3c ("net/qede/base: update") Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore_vf.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/qede/base/ecore_vf.c b/drivers/net/qede/base/ecore_vf.c index be8b1ec4e2..161b31764d 100644 --- a/drivers/net/qede/base/ecore_vf.c +++ b/drivers/net/qede/base/ecore_vf.c @@ -296,6 +296,14 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn) VFPF_ACQUIRE_CAP_PRE_FP_HSI; } } + + /* If PF/VF are using same Major, PF must have had + * it's reasons. Simply fail. + */ + DP_NOTICE(p_hwfn, false, + "PF rejected acquisition by VF\n"); + rc = ECORE_INVAL; + goto exit; } else { DP_ERR(p_hwfn, "PF returned err %d to VF acquisition request\n", -- 2.20.1