Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp642512img; Fri, 22 Mar 2019 05:46:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqwXPV0awYIkkhzGPp5ma9KMrQM8hZP/7sS10xF5cA8ydUUpFPXE72g2XjdTmc7D0+plyr6G X-Received: by 2002:a63:cd10:: with SMTP id i16mr8408316pgg.90.1553258775027; Fri, 22 Mar 2019 05:46:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553258775; cv=none; d=google.com; s=arc-20160816; b=JL9ERBPfKHJI3CJ9YZhe4eA++jAypnGJMTA2263ynGRnEhtW2IRb3XjzaJB8V9y+Am p7zbj3cP9QV3ALTAU+3VJDYgLbzoW5MQTxq8I1NcxJbniRXS62O0uzK9qdEU1M8Jhtsz yG2LqfwtUrLpq1yGZwYIN76UzrOHD4TEuKoNP5MtD8qYTSWbOT+DfYZdS4fX5eTITPje t/RRVtwNI/0Rt8KtaMYG9hM7KhW/dpjv3+RYU9jdlITZNdBlGeN8DVBduQGoFWUBsP/2 yIjdbpNgEbGB3dRPwYAvyBHn9m5NTr2Tjnukgn/CbXvqLmhQ/f7e0AQWN/tn3rvlStU2 /xuw== 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=dUCbqMClqL2DcFEvLYg6ttifUEAcVxNGuducWfQPa4A=; b=pPhZ3cdiq2JOR2CN7aHRVCLDblmi/Hyg4ixnWmtl8eFjHKAhfQ/UheoSGXFd2mavnV +ACy9L0wvnR7YV8eq0DhtQFAbaqKbI8YsZndDB0mX8rKpPiKxU63nIp8kQkqwPmBf6U7 fT+z/by4vPvydd2ezAAPNWX/3scpGoctl5XskXEscD2W1aQoDjgDyamQj8YxdE+5/gBU LX32iwBq5GnFZwGVvsxpzLD9jE4+4OMT8VlJHWxQLQ6Dpfamrq866UtPXUCmMdtvR7NK MczMxn0wdmipyf9vhd+5LA2VgEEVyd54yxf4nD/RVTW7lm96yums5l4I1bKqXl+BYDHM Tx2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=V21JifWs; 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 p70si6707335pfa.9.2019.03.22.05.45.57; Fri, 22 Mar 2019 05:46:15 -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=V21JifWs; 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 S2388367AbfCVMC0 (ORCPT + 99 others); Fri, 22 Mar 2019 08:02:26 -0400 Received: from mail.kernel.org ([198.145.29.99]:40478 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388356AbfCVMCW (ORCPT ); Fri, 22 Mar 2019 08:02:22 -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 BA45B2192D; Fri, 22 Mar 2019 12:02:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553256142; bh=3s68TZcsaLBH8LVQi6/u1BUkGhrEfracpBX7xhurTko=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=V21JifWs4JpQ/TszWf1FkX40QNUgMV/4tl1QNaZ3zE0GdNXEnWHK3GdKmYXBpubFu LdA20Lv8v8/6AHx8+cxfEntFjwhoohLrjCsOBfeZwhAs0TsVRELrfrbH+CcZtBBAHj Kdk3/e13S+rZAbK4TQodm5qTHIF1yes6XdA7gOTE= 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.19 103/280] net: thunderx: make CFG_DONE message to run through generic send-ack sequence Date: Fri, 22 Mar 2019 12:14:16 +0100 Message-Id: <20190322111312.460289996@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190322111306.356185024@linuxfoundation.org> References: <20190322111306.356185024@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.19-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 6c8dcb65ff03..90497a27df18 100644 --- a/drivers/net/ethernet/cavium/thunder/nic_main.c +++ b/drivers/net/ethernet/cavium/thunder/nic_main.c @@ -1039,7 +1039,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 88f8a8fa93cd..4eb24e10ba4d 100644 --- a/drivers/net/ethernet/cavium/thunder/nicvf_main.c +++ b/drivers/net/ethernet/cavium/thunder/nicvf_main.c @@ -172,6 +172,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) @@ -1416,7 +1427,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); @@ -1512,8 +1522,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