From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by dpdk.org (Postfix) with ESMTP id B75891B93A for ; Wed, 25 Oct 2017 16:05:00 +0200 (CEST) Received: by mail-wm0-f67.google.com with SMTP id p75so2130559wmg.3 for ; Wed, 25 Oct 2017 07:05:00 -0700 (PDT) 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=jP6p5D3EKQPXeWWXXg3S7IpLuuIFUptzT+bzqr5g4rk=; b=njcJe1EYU68JCxfBcRIXW5cYDCDmm27e9iKk1/sus5rg18YfCzO7UWgm/NYB5aeBiS RFRWAtQjslZnXx0J8gAMkqLkQLdD46rjEpLvbeZhJ5GkTNc1t3L8EKYxMQmjEoj94fPx ruo2WqdaXn0yMHyyWJMvCFf/o+58/xW+tL+h/Fo35rAvQK30ictByvwKDiJUhUFdjitt mQzZ2nSybK+TaOKoOM9MleUyHiC6+IGCzYnswrqELQnVDHWkVrtfed2Sz6BHN/QFdPPs H2gry6T3ze7Hk34Mo+Cq93Gb0/fUQ6I1A4/u9jaj1YC9x4cfW16vWim/DtScOIWO9zFF eRhw== 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=jP6p5D3EKQPXeWWXXg3S7IpLuuIFUptzT+bzqr5g4rk=; b=d9RRq9YwuhWrFZrnUn806UW1HI/w6eGU8NsrCiAcfzxIqq0IgG/cl9n6AI0vV1tCAr wW5iojxzMAba9Avw0nZw0V2jkII1F018KcJroS9ZWvs3O/9LJucqapDbKmQqSesqNKkU UhAQ5DHRzVtUdO09Y7nItFgy1PiQZrPzf+OW5SLQU0otTmGF3FgJ3Vr9cUn14bPvAtPf ZypzkiK0NORVtASBZqXZzsAKwky/L9KG5CxkfF3jkU5EA2H/0EbE+W1oANB2lcQotORW KeNQWwmeprNoc4Q6Ft+jH75cWsozY5hSXZW2jkWnJJ3WbAIO1eJDjRAypTonxEiY6E3S sasQ== X-Gm-Message-State: AMCzsaVwoC7KkDBoLdtpuWV4Wk+ciSS4VDNgnm1LcqnQYLScBrja5sd9 ty6VmouVtA3O81K2eXQDsWxDFvJCFQ== X-Google-Smtp-Source: ABhQp+SBmhtFlrAjylshcJ0Liy/usHhzX1QPbv6Xllp9KLUTQgENiFJCacDzFC+VajCDaaXRTvkb/g== X-Received: by 10.28.207.130 with SMTP id f124mr2126428wmg.88.1508940299845; Wed, 25 Oct 2017 07:04:59 -0700 (PDT) Received: from laranjeiro-vm.dev.6wind.com. (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id 56sm2595676wrx.2.2017.10.25.07.04.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Oct 2017 07:04:59 -0700 (PDT) From: Nelio Laranjeiro To: dev@dpdk.org Cc: Yongseok Koh , Adrien Mazarguil , Shahaf Shuler Date: Wed, 25 Oct 2017 16:04:36 +0200 Message-Id: <085e95741dd064e931ba75b4c54d8a64f81b5009.1508940093.git.nelio.laranjeiro@6wind.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH] net/mlx5: fix device stop with multiple regions 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: , X-List-Received-Date: Wed, 25 Oct 2017 14:05:00 -0000 LIST macro are not safe when inside a LIST_FOREACH() a LIST_REMOVE() is called to remove an entry, this behavior is undefined causing some entries to disappear from the list. Fixes: 6e78005a9b30 ("net/mlx5: add reference counter on DPDK Tx queues") Signed-off-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_trigger.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c index 982d0a24d..5de2d026e 100644 --- a/drivers/net/mlx5/mlx5_trigger.c +++ b/drivers/net/mlx5/mlx5_trigger.c @@ -188,7 +188,7 @@ mlx5_dev_start(struct rte_eth_dev *dev) error: /* Rollback. */ dev->data->dev_started = 0; - LIST_FOREACH(mr, &priv->mr, next) + for (mr = LIST_FIRST(&priv->mr); mr; mr = LIST_FIRST(&priv->mr)) priv_mr_release(priv, mr); priv_flow_stop(priv, &priv->flows); priv_dev_traffic_disable(priv, dev); @@ -230,9 +230,8 @@ mlx5_dev_stop(struct rte_eth_dev *dev) priv_dev_interrupt_handler_uninstall(priv, dev); priv_txq_stop(priv); priv_rxq_stop(priv); - LIST_FOREACH(mr, &priv->mr, next) { + for (mr = LIST_FIRST(&priv->mr); mr; mr = LIST_FIRST(&priv->mr)) priv_mr_release(priv, mr); - } priv_flow_delete_drop_queue(priv); priv_unlock(priv); } -- 2.11.0