From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f173.google.com (mail-wr0-f173.google.com [209.85.128.173]) by dpdk.org (Postfix) with ESMTP id 87F617D5B for ; Wed, 23 Aug 2017 17:09:31 +0200 (CEST) Received: by mail-wr0-f173.google.com with SMTP id f8so1306830wrf.3 for ; Wed, 23 Aug 2017 08:09:31 -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=cEywQZ3LdsBqkccc46I4inQMzr/WQCUCixxx/Q29hJc=; b=HpKvGz/2Er3kA4lPSNjFPxo243Y8fWgFDcW7u5+sG0UCje+x2T32+ScW6R5A6BedzB Pa6bPAutCFWNFPxBPc/8sxXjEYbNrvqQyn96heFj3mSIZ/E72erL3UBJwPyvViSC6qFO 80eBTdMKh7TGvXIizAP8vVNjmLB8zT29aPDuvYh6Ma5lb9m5EdFnHtQtj+CfE+uj9sBI NtemHlaKoBHBwdvL5J6wSgf64XqPqqDtk2UbtWRgL7ygj4GIbybLnLcKIwAsL6BHlBA6 3X4lsoZ4w8Owet4qvMWiFZqAd3hp+Ghpe5lShSWUgTN8YB6AHUXxHXhuPMp9mw/e65nU VMpQ== 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=cEywQZ3LdsBqkccc46I4inQMzr/WQCUCixxx/Q29hJc=; b=Tx7pe0YuzxfYFRFmeAPs0ze5cdzbpoFDykLUf6riPWeTSSTJvOLWoqcKsqxMJxyuj8 H4rVLnJ9Un1aUTqIhgG9a+OC4a3rHp/KaEFP3QHkD4ud88mQ2j0fIWHXM0+aj308d1Zh zQ/BYNXYSo91qXMa+W9JxkHKXAvAwn62lpNR7XMOHxmzlT+G1JgrM9/7lioRZ1Jy/8ej Gf6Gt2PCgKLZFudnrn/NgTJAOXAKR7DEfLMQfA6WfioEmiIA64d1KykhCKD3UQHsoi3u KKDZ5cF3p9W7H65L+5WLz7SULn9dVe9rvdzjrJHLd4CG8IFJf8KwGH/bcuOi5Gx6fv6V uz9w== X-Gm-Message-State: AHYfb5hxzdqbmy/j8vf7bXImGzKz+eUt1fvwvYUCL04FHtd/xn2qzKi9 I7YGKouhFo869WHi X-Received: by 10.223.179.1 with SMTP id j1mr2037747wrd.300.1503500971135; Wed, 23 Aug 2017 08:09:31 -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 g26sm1605873wrb.21.2017.08.23.08.09.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Aug 2017 08:09:30 -0700 (PDT) Date: Wed, 23 Aug 2017 17:09:20 +0200 From: =?iso-8859-1?Q?N=E9lio?= Laranjeiro To: Matan Azrad Cc: Adrien Mazarguil , dev@dpdk.org, Shahaf Shuler , stable@dpdk.org Message-ID: <20170823150920.GG12995@autoinstall.dev.6wind.com> References: <1502710344-28013-1-git-send-email-matan@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1502710344-28013-1-git-send-email-matan@mellanox.com> User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [dpdk-dev] [PATCH] net/mlx5: fix xstats functions unlock missing 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, 23 Aug 2017 15:09:31 -0000 On Mon, Aug 14, 2017 at 02:32:24PM +0300, Matan Azrad wrote: > The corrupted code didn't unlock the spinlock in xstats > get and reset functions error flow. > > Hence, if these errors happaned, the device spinlock was > left locked and many mlx5 device functionalities were blocked. > > The fix unlocks the spinlock in the missed places. > > Fixes: e62bc9e70608 ("net/mlx5: fix extended statistics") > > Signed-off-by: Matan Azrad > Cc: stable@dpdk.org > --- > drivers/net/mlx5/mlx5_stats.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/mlx5/mlx5_stats.c b/drivers/net/mlx5/mlx5_stats.c > index 703f48c..33997af 100644 > --- a/drivers/net/mlx5/mlx5_stats.c > +++ b/drivers/net/mlx5/mlx5_stats.c > @@ -442,8 +442,10 @@ mlx5_xstats_get(struct rte_eth_dev *dev, > > 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); > @@ -468,10 +470,11 @@ mlx5_xstats_reset(struct rte_eth_dev *dev) > priv_lock(priv); > stats_n = priv_ethtool_get_stats_n(priv); > if (stats_n < 0) > - return; > + goto unlock; > if (xstats_ctrl->stats_n != stats_n) > priv_xstats_init(priv); > priv_xstats_reset(priv); > +unlock: > priv_unlock(priv); > } > > -- > 2.7.4 > Acked-by: Nelio Laranjeiro -- Nélio Laranjeiro 6WIND