From patchwork Thu Jan 21 14:18:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wang, Haiyue" X-Patchwork-Id: 87029 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7DC96A09E4; Thu, 21 Jan 2021 15:34:08 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0FBE9140DE3; Thu, 21 Jan 2021 15:34:08 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id D8D44140DE0; Thu, 21 Jan 2021 15:34:06 +0100 (CET) IronPort-SDR: KyH3dXwCOtZPkMXzYL2H3KjQcRZm6hfNkWoeETlNmrx0ZZLN7aCQWBmaBEBhbL7FaXmx4mTBX/ xntUsgjmqEZQ== X-IronPort-AV: E=McAfee;i="6000,8403,9870"; a="179360378" X-IronPort-AV: E=Sophos;i="5.79,364,1602572400"; d="scan'208";a="179360378" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2021 06:34:01 -0800 IronPort-SDR: lm0GlcY9tnXYEreTbGzBCKxx6epzwsySyWvX86JubIaqIaJ6mBxO61F0MLqtELnkQ3rhmbKo0n 27l0cjEuRafg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,364,1602572400"; d="scan'208";a="366925975" Received: from npg-dpdk-haiyue-3.sh.intel.com ([10.67.118.189]) by orsmga002.jf.intel.com with ESMTP; 21 Jan 2021 06:33:59 -0800 From: Haiyue Wang To: dev@dpdk.org Cc: qiming.yang@intel.com, qi.z.zhang@intel.com, qi.fu@intel.com, Haiyue Wang , stable@dpdk.org Date: Thu, 21 Jan 2021 22:18:04 +0800 Message-Id: <20210121141804.83855-1-haiyue.wang@intel.com> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v1] net/ice: drain out DCF AdminQ command queue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The virtchnl command message response is handled by matchiing the opcode only for limitation. The DCF AdminQ command with buffer data needs two virtchnl commands, one is to handle the AdminQ header, the other is to handle AdminQ buffer. If the AdminQ header command gets the failure response, the AdminQ buffer command needs to wait for the buffer message response until timeout to drain out the virtchnl command queue, since both of them are sent to PF, the PF will handle them one by one, and send back the response. If not, it will cause the next AdminQ command failure with the stall response. Fixes: daa714d55c72 ("net/ice: handle AdminQ command by DCF") Cc: stable@dpdk.org Signed-off-by: Haiyue Wang --- drivers/net/ice/ice_dcf.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ice/ice_dcf.c b/drivers/net/ice/ice_dcf.c index 4a9af3292c..a211797d9e 100644 --- a/drivers/net/ice/ice_dcf.c +++ b/drivers/net/ice/ice_dcf.c @@ -506,7 +506,6 @@ ice_dcf_send_aq_cmd(void *dcf_hw, struct ice_aq_desc *desc, do { if ((!desc_cmd.pending && !buff_cmd.pending) || - (!desc_cmd.pending && desc_cmd.v_ret != IAVF_SUCCESS) || (!buff_cmd.pending && buff_cmd.v_ret != IAVF_SUCCESS)) break;