From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id ECEE623C for ; Tue, 21 Nov 2017 14:20:03 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 9570920B69; Tue, 21 Nov 2017 08:20:03 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Tue, 21 Nov 2017 08:20:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fridaylinux.org; h=cc:date:from:in-reply-to:message-id:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=8xlWmChIOnLsFIGJg 0Ev/WvKEKDRE6X+iIEu4uaQT60=; b=iZQz19GHbOz1v9UFjySqexcYoX2UpurPB SG0AFgQLT0ZbBzQ+LwWtoOzHBYV8LWj3fG02H+wuMcwB0W8oAte7fHJIh3+KKRLP GeMmFflZqqqKSb7ss1AZz14RvlCsns7ianEPu6asGBxvOsBB8mU2z7AJv0KCznC3 mHYyebBjv9NjObJ0k48vOH2+qxOLMJV7XjnKdZp7tjXrCexwZsKO79dm0tl5WSEN Cvd0hNTXzpPMO8nsXi6E5SyPYirSkAw/06fq4XsthHgUkkk55hzYQrjIz+wbj1/m rAoeQkZNYiiuNOwwFyHFMXgPzH/ScV5CQGsa12qNfYKC9bnajQ+dg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=8xlWmChIOnLsFIGJg0Ev/WvKEKDRE6X+iIEu4uaQT60=; b=X1tqvdGp 1lX2kkFpL6GP4I06TGMlPzn6CSHC5rYVp5LmdINAlcGMMzOiKqCLC6q5MuIoOuBO FSMZC3arKutF2M1OW7re/jmp9EVw6WWno82LHYwlcHcGaYjPVQi9I0iMX9vX7tGu uLxPM6NkpQg4+dsoNepo6r7A4SVuYTGoYC3uP07cUfRNjJSlpDyPJqczRlkH7owb 9zclN9Q1syH8UmFJc6Fc4JgaWYFKIbLcCl5aSvlkSLBIu/DJV16StiL2VRsWkX4V zuHY87ES4Lvy5+GBiA+vBGznPspzIjr5m0UedlCUtbHEdWmZLuinxGU5hKqmP0G/ IoEH+l6F0Wq5Dw== X-ME-Sender: Received: from localhost.localdomain (unknown [180.158.62.0]) by mail.messagingengine.com (Postfix) with ESMTPA id 361B9243B9; Tue, 21 Nov 2017 08:20:00 -0500 (EST) From: Yuanhan Liu To: Xiaoyun Li Cc: Beilei Xing , dpdk stable Date: Tue, 21 Nov 2017 21:15:54 +0800 Message-Id: <1511270333-31002-12-git-send-email-yliu@fridaylinux.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1511270333-31002-1-git-send-email-yliu@fridaylinux.org> References: <1511270333-31002-1-git-send-email-yliu@fridaylinux.org> Subject: [dpdk-stable] patch 'net/i40e: fix PF notify issue when VF is not up' has been queued to stable release 17.08.1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2017 13:20:04 -0000 Hi, FYI, your patch has been queued to stable release 17.08.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/24/17. So please shout if anyone has objections. Thanks. --yliu --- >>From 4ab14a00e26b400b56537f793a77694e0ffd2a94 Mon Sep 17 00:00:00 2001 From: Xiaoyun Li Date: Tue, 15 Aug 2017 15:39:36 +0800 Subject: [PATCH] net/i40e: fix PF notify issue when VF is not up [ upstream commit 16048c4cb70386512917073c1661d743f5a78806 ] This patch stops PF from sending message to VF when VF's admin queue isn't enabled, namely VF isn't up. Fixes: 4861cde46116 ("i40e: new poll mode driver") Signed-off-by: Xiaoyun Li Acked-by: Beilei Xing --- drivers/net/i40e/i40e_pf.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c index 100f8dc..fe89027 100644 --- a/drivers/net/i40e/i40e_pf.c +++ b/drivers/net/i40e/i40e_pf.c @@ -1192,7 +1192,10 @@ send_msg: void i40e_notify_vf_link_status(struct rte_eth_dev *dev, struct i40e_pf_vf *vf) { + struct i40e_hw *hw = I40E_PF_TO_HW(vf->pf); struct virtchnl_pf_event event; + uint16_t vf_id = vf->vf_idx; + uint32_t tval, rval; event.event = VIRTCHNL_EVENT_LINK_CHANGE; event.event_data.link_event.link_status = @@ -1224,8 +1227,15 @@ i40e_notify_vf_link_status(struct rte_eth_dev *dev, struct i40e_pf_vf *vf) break; } - i40e_pf_host_send_msg_to_vf(vf, VIRTCHNL_OP_EVENT, - I40E_SUCCESS, (uint8_t *)&event, sizeof(event)); + tval = I40E_READ_REG(hw, I40E_VF_ATQLEN(vf_id)); + rval = I40E_READ_REG(hw, I40E_VF_ARQLEN(vf_id)); + + if (tval & I40E_VF_ATQLEN_ATQLEN_MASK || + tval & I40E_VF_ATQLEN_ATQENABLE_MASK || + rval & I40E_VF_ARQLEN_ARQLEN_MASK || + rval & I40E_VF_ARQLEN_ARQENABLE_MASK) + i40e_pf_host_send_msg_to_vf(vf, VIRTCHNL_OP_EVENT, + I40E_SUCCESS, (uint8_t *)&event, sizeof(event)); } void -- 2.7.4