From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f176.google.com (mail-wr0-f176.google.com [209.85.128.176]) by dpdk.org (Postfix) with ESMTP id 2B1802B88 for ; Wed, 22 Feb 2017 10:58:17 +0100 (CET) Received: by mail-wr0-f176.google.com with SMTP id s27so4493560wrb.2 for ; Wed, 22 Feb 2017 01:58:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=o9q48sC2IkeSAYIErvHoQEC5JZZnYHEI/4t7j2g+qn8=; b=bb7UVH4zYoovfABG5M8cg05h5s9in7j9QMT0Gt7ip0GpYo0mKZtVNhFm0IBXhbp5S8 r0vXQ/fXzmDLYX3s5dJIPszXBZcB1xcc1RMkLFmhEQJvOTNVyJXCYP+g0dUfkfl3l46Z EgxJXnDGFhLcmfUPkSGXuywc4va+FDTg8Oaenv0RvKbcszXffgV23FM7v91Gha79Chxw ZzfR8NmJAYh+GySTPpPUksCUoC/R7Ijum6xB2EimCDs0SeUQlYBgrDc97eic41YtaYHz V4JjAJU6kwtoE8Qs8uNMbbyPawCAx92kwN9jBRnje/kI9ZL8N3EOvTrg0Pxrgpc73jui zsGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=o9q48sC2IkeSAYIErvHoQEC5JZZnYHEI/4t7j2g+qn8=; b=Ryu8z7OieLG56qM8luTIKCsG0IwEfzEg7S7KmY+y+wWGsKoNAF93bnW6br4IsMpfK+ Z+97pCFeor+4j9B40LMS9sDteg587sLD7C+N+7bglO61ANS+TJG1Au/yhycwU+ZIoSBX KrzYxDiOXXfwxq7161GXRZzJe22msGuFA+OJK5Jsg71OWixz6ojNeZi+9nUypeexDFkn XgjMu4plA5yikZNuWgp0sphBn+zrbUETwu4jypsRpKrJRud30bEu4zwknzZhRi8xdzis MnueB8/zOlAbgdincIee7KwAMVoau7BV+VSEeUex8+LaBTQl6LL60sVK/3p+Tvy0Gpi+ 1oAQ== X-Gm-Message-State: AMke39nEE2lSI3w1bgRXXmKtYh0cQbc3Xj01Yu/+RTBeTGfPQP9BWyE0Gi2kBex656wujkuQ X-Received: by 10.223.155.135 with SMTP id d7mr21639696wrc.99.1487757496902; Wed, 22 Feb 2017 01:58:16 -0800 (PST) Received: from ping.vm.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id s26sm1062330wra.26.2017.02.22.01.58.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 22 Feb 2017 01:58:16 -0800 (PST) From: Nelio Laranjeiro To: dev@dpdk.org Cc: Adrien Mazarguil , stable@dpdk.org Date: Wed, 22 Feb 2017 10:57:52 +0100 Message-Id: <26de01836a8fa17050f44aed05ccda3853773c78.1487757419.git.nelio.laranjeiro@6wind.com> X-Mailer: git-send-email 2.1.4 Subject: [dpdk-stable] [PATCH] net/mlx5: fix startup when flow cannot be applied X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Feb 2017 09:58:17 -0000 When flows cannot be re-applied due to configuration modifications, the start function should rollback the configuration done. Fixes: 2097d0d1e2cc ("net/mlx5: support basic flow items and actions") Cc: stable@dpdk.org Signed-off-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_trigger.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c index 30addd2..683b57c 100644 --- a/drivers/net/mlx5/mlx5_trigger.c +++ b/drivers/net/mlx5/mlx5_trigger.c @@ -82,17 +82,28 @@ mlx5_dev_start(struct rte_eth_dev *dev) ERROR("%p: an error occurred while configuring hash RX queues:" " %s", (void *)priv, strerror(err)); - /* Rollback. */ - priv_special_flow_disable_all(priv); - priv_mac_addrs_disable(priv); - priv_destroy_hash_rxqs(priv); + goto error; } if (dev->data->dev_conf.fdir_conf.mode != RTE_FDIR_MODE_NONE) priv_fdir_enable(priv); - priv_dev_interrupt_handler_install(priv, dev); err = priv_flow_start(priv); + if (!err) { + priv->started = 0; + ERROR("%p: an error occurred while configuring flows:" + " %s", + (void *)priv, strerror(err)); + goto error; + } + priv_dev_interrupt_handler_install(priv, dev); priv_xstats_init(priv); priv_unlock(priv); + return 0; +error: + /* Rollback. */ + priv_special_flow_disable_all(priv); + priv_mac_addrs_disable(priv); + priv_destroy_hash_rxqs(priv); + priv_flow_stop(priv); return -err; } -- 2.1.4