From patchwork Thu Feb 21 19:01:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 50422 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7CEAB2BA7; Thu, 21 Feb 2019 20:01:38 +0100 (CET) Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id 34AC92B9E for ; Thu, 21 Feb 2019 20:01:37 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id CC6FB22F71; Thu, 21 Feb 2019 14:01:36 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 21 Feb 2019 14:01:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=mesmtp; bh=wszUFdjBKL 1tQG551NHPU6ZswOwthxFPwttF4AJT2ws=; b=XWWDGyk7s/GcknDbv+SNsffnI1 hztD//T6cVeRmp4xBbOxrEmhxiayCsK1rKLbo9brJL5ay8KF/mV8UtRbCzIYcTQk Ds8Ru7z5ea8vNPmn8BdqPMSPf6QinOUXoW/fcCN8YGQ5LDnECebkVpS0RSmivl+p wKb2dpf8dSCuuN9i4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=wszUFdjBKL1tQG551NHPU6ZswOwthxFPwttF4AJT2ws=; b=7FNVtg5c 3tpbuavDF9Y+4lKq0S04QAWxyiZ3btQc79HxNtIIqUp5YlH2HnhREya9bMxuPrvJ 3WF+os3CAsPB+6F5mVVFcVB1OgjO5lzfiB4JarKLqSPBumMwqPH6JbZwV5SH2aFp 4NvO4e9Z5JndylsXD1NaQ89Rhhb/8mbu6A6I9j+gco3mlroPO/H7quN1OF8/fY9n K9utOXTSmwfdIRMAbQhyG9Et/mSK610MbzL152lndsBW/sfcSDhg/ctY95wYwn6l L5gE1AW1H0UIXDsnLjyRN15BDErnJeLcjGH3mRlWPUmXJODdV5TCkqWhl0JEu6z0 /Llt9wj+OaN4Bw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedutddrtdekgdduvddvucdltddurdegtdelrddttd dmucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfquhht necuuegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkffojghfggfgsedtke ertdertddtnecuhfhrohhmpefvhhhomhgrshcuofhonhhjrghlohhnuceothhhohhmrghs sehmohhnjhgrlhhonhdrnhgvtheqnecukfhppeejjedrudefgedrvddtfedrudekgeenuc frrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvthen ucevlhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id DAEFF10319; Thu, 21 Feb 2019 14:01:35 -0500 (EST) From: Thomas Monjalon To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Thu, 21 Feb 2019 20:01:24 +0100 Message-Id: <20190221190125.24140-2-thomas@monjalon.net> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190221190125.24140-1-thomas@monjalon.net> References: <20190221190125.24140-1-thomas@monjalon.net> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 1/2] bus/vdev: fix debug message on probing X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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 log was printing the device name two times, first one being supposed to be the driver name. As we don't know yet the driver name, the log is simplified. Fixes: 9bf4901d1a11 ("bus/vdev: remove probe with driver name option") Cc: ferruh.yigit@intel.com Signed-off-by: Thomas Monjalon Reviewed-by: Rami Rosen Reviewed-by: Andrew Rybchenko --- drivers/bus/vdev/vdev.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c index 2c03ca4185..7225411791 100644 --- a/drivers/bus/vdev/vdev.c +++ b/drivers/bus/vdev/vdev.c @@ -144,9 +144,7 @@ vdev_probe_all_drivers(struct rte_vdev_device *dev) int ret; name = rte_vdev_device_name(dev); - - VDEV_LOG(DEBUG, "Search driver %s to probe device %s", name, - rte_vdev_device_name(dev)); + VDEV_LOG(DEBUG, "Search driver to probe device %s", name); if (vdev_parse(name, &driver)) return -1; From patchwork Thu Feb 21 19:01:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 50423 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7B0642BE5; Thu, 21 Feb 2019 20:01:41 +0100 (CET) Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id 8A8E22BBE; Thu, 21 Feb 2019 20:01:39 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id E46CE22AD7; Thu, 21 Feb 2019 14:01:38 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 21 Feb 2019 14:01:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=mesmtp; bh=UERMCQYswF OrVFhwYsGlKXWpFuPTOV2uToAcpvf/9lI=; b=Lir/vd6/aK5fEa8V9pIXEq/uKq 4Nrciisn7yr74rojs3Yd5L4fie24cXP3Q9GfAcb7ZGwjXpJ77r/XcB3YgdrEYDm+ +8C5pT7Njtjk7kp50j0xRxcL99h80vdhopPEcDaDfyU2be80hfqrQOeObGtsRUUX 6Y0VoQgsLxDo1xkUQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=UERMCQYswFOrVFhwYsGlKXWpFuPTOV2uToAcpvf/9lI=; b=1yjm+FT7 z4NxHC4KGs/hV6d7xIz3q2RVfDEuclnnt/vMqeKzrk5Xb1NqVVlfCuurY3YYR4vF 8cmnk9WTVjZr4Mpy43AwUHurrI6YcFFfrXFdRdVsBX1TNKu4tLpGp/pofWmtz/Cj VpCGWv/1vmlZ1H/Ju/p5NeAYBhYov2C7rBqKmnK31tKLll+PKAy6gNU6+NJW3U3W +Zxd6giYdqcseiouNYG2LhqNddVNKZDPWH67laQTWZYGgzAPJOgJfAb4/+CKBG6D UFjq+LH7ZZ2AwHYmRzbEuBardYkqVjCC7M2TFZjWxSgOvFPyYvL7cUtRB2PojhJ+ mWY5JfnRUZMsgA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedutddrtdekgdduvddvucdltddurdegtdelrddttd dmucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfquhht necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepvfhhohhm rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc fkphepjeejrddufeegrddvtdefrddukeegnecurfgrrhgrmhepmhgrihhlfhhrohhmpeht hhhomhgrshesmhhonhhjrghlohhnrdhnvghtnecuvehluhhsthgvrhfuihiivgepud X-ME-Proxy: Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 9EF2E100E5; Thu, 21 Feb 2019 14:01:37 -0500 (EST) From: Thomas Monjalon To: dev@dpdk.org Cc: Raslan Darawsheh , stable@dpdk.org Date: Thu, 21 Feb 2019 20:01:25 +0100 Message-Id: <20190221190125.24140-3-thomas@monjalon.net> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190221190125.24140-1-thomas@monjalon.net> References: <20190221190125.24140-1-thomas@monjalon.net> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 2/2] bus/vdev: fix hotplug twice X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" From: Raslan Darawsheh In case vdev was already probed, it shouldn't be probed again, and it should return -EEXIST as error. There are some checks in vdev_probe() and insert_vdev(), but a check was missing in vdev_plug(). The check is moved in vdev_probe_all_drivers() which is called in all code paths. Fixes: e9d159c3d534 ("eal: allow probing a device again") Cc: stable@dpdk.org Signed-off-by: Raslan Darawsheh Signed-off-by: Thomas Monjalon Reviewed-by: Andrew Rybchenko --- drivers/bus/vdev/vdev.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c index 7225411791..87f0e2b6bb 100644 --- a/drivers/bus/vdev/vdev.c +++ b/drivers/bus/vdev/vdev.c @@ -143,6 +143,9 @@ vdev_probe_all_drivers(struct rte_vdev_device *dev) struct rte_vdev_driver *driver; int ret; + if (rte_dev_is_probed(&dev->device)) + return -EEXIST; + name = rte_vdev_device_name(dev); VDEV_LOG(DEBUG, "Search driver to probe device %s", name); @@ -480,7 +483,7 @@ static int vdev_probe(void) { struct rte_vdev_device *dev; - int ret = 0; + int r, ret = 0; /* call the init function for each virtual device */ TAILQ_FOREACH(dev, &vdev_device_list, next) { @@ -489,10 +492,10 @@ vdev_probe(void) * we call each driver probe. */ - if (rte_dev_is_probed(&dev->device)) - continue; - - if (vdev_probe_all_drivers(dev)) { + r = vdev_probe_all_drivers(dev); + if (r != 0) { + if (r == -EEXIST) + continue; VDEV_LOG(ERR, "failed to initialize %s device", rte_vdev_device_name(dev)); ret = -1;