From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f52.google.com (mail-wm0-f52.google.com [74.125.82.52]) by dpdk.org (Postfix) with ESMTP id 769E15592 for ; Fri, 29 Sep 2017 08:55:23 +0200 (CEST) Received: by mail-wm0-f52.google.com with SMTP id i124so1326599wmf.3 for ; Thu, 28 Sep 2017 23:55:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=TKTRHnITQEt/g2rME+/8M8/y1R4k0drvSu0M2K837PQ=; b=jOX4g4NiKxdT+BJBppJg4ICal3ii9wSiwUmBFZRxgHuywmV28IC/1lAkVvUfSx6Y9x pIqovmq0lhcG8UszvSFkaQmkidxAgm2GJmfP/A7U2BvsMHJvhU5vJ0PaRpMFkBLFa3Ye vjF330loSO/FL46Rf3tmY6jPuOzuX3Obva4SAALv4cvO9vtpOSuDevbyaekS+uorUgA/ AItduRCl1Z6p2YZZumqXXHXRKXRPTrCz/QTV+GA8+uOm8u3dUeJ4HwAAkvs2kYzDnqCi JS3QU49gCHomWgHvAqyQ9vf1xgVqgFEAmF1mTOnc9OwyEfO82wyVU2qOar2OTPE+FM0f MMCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=TKTRHnITQEt/g2rME+/8M8/y1R4k0drvSu0M2K837PQ=; b=i8lNgk6oHXl633op++o71acmJIjIGSg6EK/yWvqBdU77Qj5nMV7O5s/j2qbD0CaJxi 3cXW4c9E1iBbmIjXUw01pfVUxHKqEwwSvpUbUUKugkclo0paIzXPe2uTa8C5xPTEC13W RX42j36tYgJ3fA6m48qD9U8KfBbLu9Cjd9T9hnv8xE9p747l9FY2TQ3ePdH60xt4yVNj 3hw8dHy84RiixGOaSWtDFk6L53LK24p+3l5MbzvLetxhThX2PFc15pLjnA6ObQaIERwi 9KXLrYXqv6C9mMqAOiFOf/ZqpQwnHfeuiqer2GgEeTgkgy7bhcl/TTCjkxV21jtM+xIZ MKXg== X-Gm-Message-State: AHPjjUjoQRi11qzEAjZZTFlcyNICF3aYzZE3tjv9WD2M+fQNltOVDyXw 4NPqYfM7j1jPqecfw3iejfI/ X-Google-Smtp-Source: AOwi7QDLm9v8o3k70GeONZGZJRFSaY+MUvqyqowWUqaWXeMRFNU9Ifh0m02/CcwFPCxzQqRlj074Ug== X-Received: by 10.28.15.202 with SMTP id 193mr3501495wmp.30.1506668123076; Thu, 28 Sep 2017 23:55:23 -0700 (PDT) Received: from autoinstall.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id p78sm5383376wma.11.2017.09.28.23.55.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Sep 2017 23:55:22 -0700 (PDT) Date: Fri, 29 Sep 2017 08:55:12 +0200 From: =?iso-8859-1?Q?N=E9lio?= Laranjeiro To: Pavlo Shcherbyna Cc: adrien.mazarguil@6wind.com, dev@dpdk.org, shahafs@mellanox.com Message-ID: <20170929065511.GR7279@autoinstall.dev.6wind.com> References: <1506643436-15561-1-git-send-email-pavlo.shcherbyna@harmonicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1506643436-15561-1-git-send-email-pavlo.shcherbyna@harmonicinc.com> User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [dpdk-dev] [PATCH] net/mlx5: release spinlock before return from function 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: Fri, 29 Sep 2017 06:55:23 -0000 Hi Pavlo, On Fri, Sep 29, 2017 at 03:03:56AM +0300, Pavlo Shcherbyna wrote: > If priv_ethtool_get_stats_n fails to retrieve statistics, lock > is not released. Next call of function, which uses the same > spinlock, will stuck trying to obtain it. > > This patch addresses the issue. > > Fixes: 4b2e6df26168 ("net/mlx5: fix extended statistics counters identification") > Cc: shahafs@mellanox.com > > Signed-off-by: Pavlo Shcherbyna > --- > drivers/net/mlx5/mlx5_stats.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/mlx5/mlx5_stats.c b/drivers/net/mlx5/mlx5_stats.c > index 703f48c..8764829 100644 > --- a/drivers/net/mlx5/mlx5_stats.c > +++ b/drivers/net/mlx5/mlx5_stats.c > @@ -442,8 +442,10 @@ struct mlx5_counter_ctrl { > > priv_lock(priv); > stats_n = priv_ethtool_get_stats_n(priv); > - if (stats_n < 0) > + if (stats_n < 0) { > + priv_unlock(priv); > return -1; > + } > if (xstats_ctrl->stats_n != stats_n) > priv_xstats_init(priv); > ret = priv_xstats_get(priv, stats); > @@ -467,8 +469,10 @@ struct mlx5_counter_ctrl { > > priv_lock(priv); > stats_n = priv_ethtool_get_stats_n(priv); > - if (stats_n < 0) > + if (stats_n < 0) { > + priv_unlock(priv); > return; > + } > if (xstats_ctrl->stats_n != stats_n) > priv_xstats_init(priv); > priv_xstats_reset(priv); > -- > 1.7.10.4 This bug is already fixed in next-net/master [1][2]. Thanks for your contribution. [1] http://dpdk.org/ml/archives/dev/2017-August/072864.html [2] http://dpdk.org/ml/archives/dev/2017-August/073404.html -- Nélio Laranjeiro 6WIND