[dpdk-stable] [PATCH v2 2/2] net/i40e: fix VF bonded device link down

Yuanhan Liu yuanhan.liu at linux.intel.com
Thu Nov 24 05:33:43 CET 2016


On Thu, Nov 24, 2016 at 09:28:38AM +0800, Qiming Yang wrote:
> [ backported from upstream commit bb6722fb5c0eae07ab3a6566298df2d6028e1cf9 ]
> 
> If VF device is used as slave of a bond device, it will be polled
> periodically through alarm. Interrupt is involved here. And then
> VF will send I40E_VIRTCHNL_OP_GET_LINK_STAT message to
> PF to query the status. The response is handled by interrupt
> callback. Interrupt is involved here again. That's why bond
> device cannot bring up.
> 
> This patch removes I40E_VIRTCHNL_OP_GET_LINK_STAT
> message. Link status in VF driver will be updated when PF driver
> notify it, and VF stores this link status locally. VF driver just
> returns the local status when being required.
> 
> Fixes: 4861cde46116 ("i40e: new poll mode driver")
> 
> Signed-off-by: Qiming Yang <qiming.yang at intel.com>
> ---
> v2 changes:
> * fixed the build error

That's still not right. I have said that I have already applied your
two patches, that you should send the fix __only__ on top of the 16.07
__branch__ of the stable tree.

I compared with this patch and the one I have applied, here I got the
diff:

---
diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index 350f6a0..92c91b4 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -904,9 +904,9 @@ i40e_notify_vf_link_status(struct rte_eth_dev *dev, struct i40e_pf_vf *vf)
 
 	event.event = I40E_VIRTCHNL_EVENT_LINK_CHANGE;
 	event.event_data.link_event.link_status =
-			dev->data->dev_link.link_status;
+		dev->data->dev_link.link_status;
 	event.event_data.link_event.link_speed =
-			dev->data->dev_link.link_speed;
+		(enum i40e_aq_link_speed)dev->data->dev_link.link_speed;
 	i40e_pf_host_send_msg_to_vf(vf, I40E_VIRTCHNL_OP_EVENT,
 			I40E_SUCCESS, (uint8_t *)&event, sizeof(event));
 }

That's the patch you need to send out.

One more comment: it's obvious that you have backported the patch is
a wrong way: we should not be able to see above two changes with a
proper backport.

	--yliu


More information about the stable mailing list