Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp597189img; Fri, 22 Mar 2019 04:51:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqx0trs9Pim1VDDYmxLW5FYi/GkSWvQgj0Yhs7c6i6a4Atru0+lJ4auy5Bzp8U/HZpAMRt/F X-Received: by 2002:a63:f212:: with SMTP id v18mr8633180pgh.261.1553255499084; Fri, 22 Mar 2019 04:51:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553255499; cv=none; d=google.com; s=arc-20160816; b=PvvkZZQFJGWrskc7tSpIteV94bvELYWOrpLm4dy1cBuOhJ9EbJLmd8mqJ4mEnXEwd0 T0R5WNrbwyU5JcsREA9MaSkTxDTUMIX3wry+K9cILuzhN3WCCk/CYxeSdlIMv4YOC93u V3cU+lGfgFf+PoQ7oZu2pneKk2TIfy/4RLNHbboS8agQcJ7n2RbncqlzK03DPOw7C7Pt g6JvAP0+FkVNjWK2O6nK5Lz6LN+n9YZpXVxQGoYl4jvh6b8bC+m9tBy39wQw60RM+0AG Yqn4GqAsjRcvlvZcvhR6IIaro9OGmr+bf6vh8gdBrfpPLJs8rBDrQwgk784zKBpD6Lyu lAdw== 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=89cJaY/MYJ2Wqsfxu9ZRNpuhKmrblpJjEm6/KCBzLLw=; b=IfNllv6ipMzH8ooFpNxNOfbehI110kf0gajHwJlDKfq/uEnFEn/IguTQNOSYUa24oq gy23wiaCi4jgvCRkAiaCrP3kDZnr9N0H+juoUzlO3p3zfmIbioEm+UNiqIXGovqb2tBE MGtsoDKw4JZ5FO4hL9iL0Bn+JWKePJqzxSzg3izfh2nJa8X4jbQtRy8U3fw9pjes7T+a TTjImGUU3BM5RUZrHKG94p/HyzifrDHd8mBD0Uu65VLinRSIK8joX3bQzXITahOfgm5j Jq4qvO1rPAzRUNdYkj/x+BP5xyuXMSL7xPhz7hefi4IKpaeU11VH9Xz8EBTu0voym5c8 ya7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=aDuCZaaU; 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 e21si6235503pfn.179.2019.03.22.04.51.24; Fri, 22 Mar 2019 04:51:39 -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=aDuCZaaU; 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 S1732568AbfCVLuD (ORCPT + 99 others); Fri, 22 Mar 2019 07:50:03 -0400 Received: from mail.kernel.org ([198.145.29.99]:53722 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732336AbfCVLt7 (ORCPT ); Fri, 22 Mar 2019 07:49:59 -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 5DB1720693; Fri, 22 Mar 2019 11:49:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553255398; bh=zCjj896C4VQ6Ov4KjBjh3RQssZPV+l32sWq4/iZahCQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aDuCZaaUCsp79k66IjJottHUzpDQky61eLCzdfKVBz+SY+haZEYQ+muVjutRDTpSr TnaZ27JH5XuItCGQxwXrW+JfUHDxiUlmFk2B1ShQrJQdTqy4i7oMU1Z+WhSBMYyhuK OXLE3qPAmVUQWHi2r1+0K7Wx/fDfhdtLo8UaWV+k= 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.14 061/183] net: thunderx: make CFG_DONE message to run through generic send-ack sequence Date: Fri, 22 Mar 2019 12:14:49 +0100 Message-Id: <20190322111246.144743884@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190322111241.819468003@linuxfoundation.org> References: <20190322111241.819468003@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.14-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 d89ec4724efd..819f38a3225d 100644 --- a/drivers/net/ethernet/cavium/thunder/nic_main.c +++ b/drivers/net/ethernet/cavium/thunder/nic_main.c @@ -1030,7 +1030,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 f13256af8031..59b62b49ad48 100644 --- a/drivers/net/ethernet/cavium/thunder/nicvf_main.c +++ b/drivers/net/ethernet/cavium/thunder/nicvf_main.c @@ -166,6 +166,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) @@ -1329,7 +1340,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); @@ -1419,8 +1429,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