From: Alice Michael <alice.michael@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [next PATCH S78-V8 11/12] i40e: fix client notify of VF reset
Date: Tue, 22 Aug 2017 06:57:53 -0400 [thread overview]
Message-ID: <20170822105754.29486-12-alice.michael@intel.com> (raw)
In-Reply-To: <20170822105754.29486-1-alice.michael@intel.com>
From: Alan Brady <alan.brady@intel.com>
Currently there is a bug in which the PF driver fails to inform clients
of a VF reset which then causes clients to leak resources. The bug
exists because we were incorrectly checking the I40E_VF_STATE_PRE_ENABLE
bit.
When a VF is first init we go through a reset to initialize variables
and allocate resources but we don't want to inform clients of this first
reset since the client isn't fully enabled yet so we set a state bit
signifying we're in a "pre-enabled" client state. During the first
reset we should be clearing the bit, allowing all following resets to
notify the client of the reset when the bit is not set. This patch
fixes the issue by negating the 'test_and_clear_bit' check to accurately
reflect the behavior we want.
Signed-off-by: Alan Brady <alan.brady@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index e51fa2d..8bedc74c 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -1047,8 +1047,8 @@ static void i40e_cleanup_reset_vf(struct i40e_vf *vf)
set_bit(I40E_VF_STATE_ACTIVE, &vf->vf_states);
clear_bit(I40E_VF_STATE_DISABLED, &vf->vf_states);
/* Do not notify the client during VF init */
- if (test_and_clear_bit(I40E_VF_STATE_PRE_ENABLE,
- &vf->vf_states))
+ if (!test_and_clear_bit(I40E_VF_STATE_PRE_ENABLE,
+ &vf->vf_states))
i40e_notify_client_of_vf_reset(pf, abs_vf_id);
vf->num_vlan = 0;
}
--
2.9.4
next prev parent reply other threads:[~2017-08-22 10:57 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-22 10:57 [Intel-wired-lan] [next PATCH S78-V8 00/12] Change Log Alice Michael
2017-08-22 10:57 ` [Intel-wired-lan] [next PATCH S78-V8 01/12] i40e: Fix reporting of supported link modes Alice Michael
2017-08-23 16:28 ` Bowers, AndrewX
2017-08-22 10:57 ` [Intel-wired-lan] [next PATCH S78-V8 02/12] i40e: Add support for 'ethtool -m' Alice Michael
2017-08-23 16:29 ` Bowers, AndrewX
2017-08-22 10:57 ` [Intel-wired-lan] [next PATCH S78-V8 03/12] i40e: use admin queue for setting LEDs behavior Alice Michael
2017-08-23 16:29 ` Bowers, AndrewX
2017-08-22 10:57 ` [Intel-wired-lan] [next PATCH S78-V8 04/12] i40e: don't hold spinlock while resetting VF Alice Michael
2017-08-23 16:42 ` Bowers, AndrewX
2017-08-22 10:57 ` [Intel-wired-lan] [next PATCH S78-V8 05/12] i40e: drop i40e_pf *pf from i40e_vc_disable_vf() Alice Michael
2017-08-23 16:43 ` Bowers, AndrewX
2017-08-22 10:57 ` [Intel-wired-lan] [next PATCH S78-V8 06/12] i40e: make use of i40e_vc_disable_vf Alice Michael
2017-08-23 20:41 ` Bowers, AndrewX
2017-08-22 10:57 ` [Intel-wired-lan] [next PATCH S78-V8 07/12] i40e: ensure reset occurs when disabling VF Alice Michael
2017-08-23 20:42 ` Bowers, AndrewX
2017-08-22 10:57 ` [Intel-wired-lan] [next PATCH S78-V8 08/12] i40evf: Enable VF to request an alternate queue allocation Alice Michael
2017-08-23 20:43 ` Bowers, AndrewX
2017-08-22 10:57 ` [Intel-wired-lan] [next PATCH S78-V8 09/12] i40e: make i40evf_map_rings_to_vectors void Alice Michael
2017-08-23 20:52 ` Bowers, AndrewX
2017-08-22 10:57 ` [Intel-wired-lan] [next PATCH S78-V8 10/12] i40e: fix handling of vf_states variable Alice Michael
2017-08-23 20:53 ` Bowers, AndrewX
2017-08-22 10:57 ` Alice Michael [this message]
2017-08-23 20:53 ` [Intel-wired-lan] [next PATCH S78-V8 11/12] i40e: fix client notify of VF reset Bowers, AndrewX
2017-08-22 10:57 ` [Intel-wired-lan] [next PATCH S78-V8 12/12] i40e: Stop dropping 802.1ad tags (eth proto 0x88a8 Alice Michael
2017-08-23 20:54 ` Bowers, AndrewX
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170822105754.29486-12-alice.michael@intel.com \
--to=alice.michael@intel.com \
--cc=intel-wired-lan@osuosl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox