Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp590787img; Fri, 22 Mar 2019 04:42:06 -0700 (PDT) X-Google-Smtp-Source: APXvYqwMG/mRRxFGZJe6AgFHu/pCEQkL6O78XqBtxvMuC142pKmwn7+weAx8CkvVsCXBUATeH3ik X-Received: by 2002:a63:5460:: with SMTP id e32mr8518480pgm.401.1553254926694; Fri, 22 Mar 2019 04:42:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553254926; cv=none; d=google.com; s=arc-20160816; b=rBzf74iCHAWwH3CYCPOQd1A6b2f0M8M2/BapfTP0uKMFJX7jlg/aJRVOJYuHBnuWG+ EpBvgMUumJsitufn9GvHNf2eEU9X2Necxq1XWzFKpMEnQsw7FPxVYM04F/9Wg9sdBGqU GCehVlx3ROq3yUPAtrevtwjl/YxG8KRSZ9qqzxVz8iHl/RoqBQP+USbg9Gm5wjFyY4Ym ZrEPBNhxkSVKCWBeri2qII5r68Yf8DhKjOJ+2sN3N+FIpC3R90Yjj+BUm8BoWzpD6eUl l2slLvR1agkLOWerzAHJjQCXp2gQf6EpxVBf2trtwiBuiuy1FIDlXoxXoFktrZtRGYw8 V+Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=21KxbOzrKdDemDZrbful5cHcuclymPKy3s1fJKAmuUo=; b=DSaCdX2MX67wxins6ce/JU5UxKyw7jXaOprdzeO4sVY8aGX4rxroyjyTKLYhuesrdZ RtGFGud5AKrUjOYPPHjlKfl7jvhlguSi7ibqV/uzSaKDsBlly1rXYGaeqAVf2r6vLvY8 iHIjZXDS/cvOumLNBYSPuI5qWi7Bq3AIq7XpM0rklKOx1PuSCrO1miQYmfmWWFjcl1y4 igDijIO5E0c3+kHunG+gwql3xcJkT1jo6c7CAka0xEcL3xGkSdXX5xuERf7fWjLYaJCj urPIT28uNDCfhoO6n+pBv8O61fEDO7mH2vZ6C897VI6rYrij5kdTVzswxATmwc2JnrCF Mwow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SzDQLLVN; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i16si6540688pfd.203.2019.03.22.04.41.52; Fri, 22 Mar 2019 04:42:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SzDQLLVN; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731385AbfCVLlQ (ORCPT + 99 others); Fri, 22 Mar 2019 07:41:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:43304 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731381AbfCVLlN (ORCPT ); Fri, 22 Mar 2019 07:41:13 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 40A65218B0; Fri, 22 Mar 2019 11:41:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553254872; bh=y1OaM9y4uCx1HFLRPq13lTtzlnFggHqAIM0zM50fMf8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SzDQLLVNm46yb7bT7VTAtvXsQF8XIr/Y7Gq1n7Ht0IDrHWfLK+m9HxT107j2Xnk8h dB42BV9V9r4a6i867GymWMs5iO7WKa1Ocjc56Iastg0UbOrBW8TV+YcCqoGA+ayjML n2pFCDnhvPvSgjqL9fgyacHKdQrpbC2F4dFcT4Us= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vadim Lomovtsev , "David S. Miller" , Sasha Levin Subject: [PATCH 4.9 037/118] net: thunderx: make CFG_DONE message to run through generic send-ack sequence Date: Fri, 22 Mar 2019 12:15:09 +0100 Message-Id: <20190322111218.807952128@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190322111215.873964544@linuxfoundation.org> References: <20190322111215.873964544@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 0dd563b9a62c4cbabf5d4fd6596440c2491e72b1 ] At the end of NIC VF initialization VF sends CFG_DONE message to PF without using nicvf_msg_send_to_pf routine. This potentially could re-write data in mailbox. This commit is to implement common way of sending CFG_DONE message by the same way with other configuration messages by using nicvf_send_msg_to_pf() routine. Signed-off-by: Vadim Lomovtsev Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/cavium/thunder/nic_main.c | 2 +- drivers/net/ethernet/cavium/thunder/nicvf_main.c | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/cavium/thunder/nic_main.c b/drivers/net/ethernet/cavium/thunder/nic_main.c index da142f6bd0c3..18ddd243dfa1 100644 --- a/drivers/net/ethernet/cavium/thunder/nic_main.c +++ b/drivers/net/ethernet/cavium/thunder/nic_main.c @@ -999,7 +999,7 @@ static void nic_handle_mbx_intr(struct nicpf *nic, int vf) case NIC_MBOX_MSG_CFG_DONE: /* Last message of VF config msg sequence */ nic_enable_vf(nic, vf, true); - goto unlock; + break; case NIC_MBOX_MSG_SHUTDOWN: /* First msg in VF teardown sequence */ if (vf >= nic->num_vf_en) diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_main.c b/drivers/net/ethernet/cavium/thunder/nicvf_main.c index c75d4ea9342b..71f228cece03 100644 --- a/drivers/net/ethernet/cavium/thunder/nicvf_main.c +++ b/drivers/net/ethernet/cavium/thunder/nicvf_main.c @@ -162,6 +162,17 @@ static int nicvf_check_pf_ready(struct nicvf *nic) return 1; } +static void nicvf_send_cfg_done(struct nicvf *nic) +{ + union nic_mbx mbx = {}; + + mbx.msg.msg = NIC_MBOX_MSG_CFG_DONE; + if (nicvf_send_msg_to_pf(nic, &mbx)) { + netdev_err(nic->netdev, + "PF didn't respond to CFG DONE msg\n"); + } +} + static void nicvf_read_bgx_stats(struct nicvf *nic, struct bgx_stats_msg *bgx) { if (bgx->rx) @@ -1178,7 +1189,6 @@ int nicvf_open(struct net_device *netdev) struct nicvf *nic = netdev_priv(netdev); struct queue_set *qs = nic->qs; struct nicvf_cq_poll *cq_poll = NULL; - union nic_mbx mbx = {}; netif_carrier_off(netdev); @@ -1267,8 +1277,7 @@ int nicvf_open(struct net_device *netdev) nicvf_enable_intr(nic, NICVF_INTR_RBDR, qidx); /* Send VF config done msg to PF */ - mbx.msg.msg = NIC_MBOX_MSG_CFG_DONE; - nicvf_write_to_mbx(nic, &mbx); + nicvf_send_cfg_done(nic); return 0; cleanup: -- 2.19.1