summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSurabhi Boob <surabhi.boob@intel.com>2021-06-04 19:48:59 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-11-26 13:48:42 +0300
commit3a9ecf33e9cc76ea51cc88b1e3ab550e3b893142 (patch)
treef5a43d2392e1c0f813b7ddfd2e259a11484eedd7
parent21c6e6e40d1534a1a78092ded4a7a802b70d60a5 (diff)
downloadlinux-3a9ecf33e9cc76ea51cc88b1e3ab550e3b893142.tar.xz
iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset
[ Upstream commit 321421b57a12e933f92b228e0e6d0b2c6541f41d ] While issuing VF Reset from the guest OS, the VF driver prints logs about critical / Overflow error detection. This is not an actual error since the VF_MBX_ARQLEN register is set to all FF's for a short period of time and the VF would catch the bits set if it was reading the register during that spike of time. This patch introduces an additional check to ignore this condition since the VF is in reset. Fixes: 19b73d8efaa4 ("i40evf: Add additional check for reset") Signed-off-by: Surabhi Boob <surabhi.boob@intel.com> Tested-by: Tony Brelinski <tony.brelinski@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/net/ethernet/intel/i40evf/i40evf_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index 537776a3e5de..9ba36425a3dd 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -1889,7 +1889,7 @@ static void i40evf_adminq_task(struct work_struct *work)
/* check for error indications */
val = rd32(hw, hw->aq.arq.len);
- if (val == 0xdeadbeef) /* indicates device in reset */
+ if (val == 0xdeadbeef || val == 0xffffffff) /* device in reset */
goto freedom;
oldval = val;
if (val & I40E_VF_ARQLEN1_ARQVFE_MASK) {