From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f47.google.com (mail-wm0-f47.google.com [74.125.82.47]) by dpdk.org (Postfix) with ESMTP id D0F6F2C16 for ; Tue, 25 Jul 2017 11:41:46 +0200 (CEST) Received: by mail-wm0-f47.google.com with SMTP id m85so37410508wma.1 for ; Tue, 25 Jul 2017 02:41:46 -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=VkCQu3XMyHuIviRQpXVm9mMK6TRsu1j8qkIwlndhcMU=; b=WaFTKaDrQeL3sGlUpdO5PYFKH7IuZKXH1xu0EkcyQkZdJCo7uHb4pO3+LCVsf7yv13 ExRmmkce1NXMXyYTo2B3mIf4zjliKH9xcUacp3rINxDDZT4remBp9lhJSNicQtHwdvge 2/57J6qvzcm61bK5cDTuniRZzpQv4UaZi+CCfQt8w8Bf9lKB8+Pa/Eo7RXLFlg58Vlkf 1jrkvhz0NeYzk6YcBD8E+WXTBC+X2RR0StGi1WX/kol+/DsjUYDIhB/hdXXKODnPpVEG MyPkvknDvSvVL6QWWJllQ2erODOJpcdnTsfA7YIrcFDLj0Rqiy1jZ1C3pHjTntuLlGZM T+/g== 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=VkCQu3XMyHuIviRQpXVm9mMK6TRsu1j8qkIwlndhcMU=; b=JYFK33YXfWKck+AB9pWhHz0+6hzZD9jORuUSeF0QViIF6uIlqyR2IjubEdcTQrxQUq iHQkLz6PYCbLQytK0n7EBvL+Te4sK7n+AdtPM88VgBqW6tRSWUmyQgi1fjsXG3GUf9ay Xs9Dl8QD4VBGHMinDCh6IkyF3n+O1EAAvKUmaUM7rOnKl95uvFmXmxhwIgMoifkMiBan tez2Se4uISO0SLExcvtCNBXlnL3jrUJvUlr59jnlLT8P+h7a/ruzsgrgfvnjg4pwPSO8 EYaH8jlwOn1/GLUfQWSr9iiejksQdPY05odVNPUj/WTVsysp3dlqUKDWAOxTBE5ElKJh n7Eg== X-Gm-Message-State: AIVw112VXPQAtdXf0brV8+ze8KdeNDCzxlapw0wk6ER46vOucSzFGB0/ GcAiQdlxF4Z0V/H8 X-Received: by 10.28.27.205 with SMTP id b196mr7254841wmb.33.1500975706489; Tue, 25 Jul 2017 02:41:46 -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 n8sm17152976wrn.59.2017.07.25.02.41.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 25 Jul 2017 02:41:45 -0700 (PDT) Date: Tue, 25 Jul 2017 11:41:37 +0200 From: =?iso-8859-1?Q?N=E9lio?= Laranjeiro To: Gowrishankar Cc: Adrien Mazarguil , dev@dpdk.org, Thomas Monjalon , stable@dpdk.org, Ferruh Yigit , Yuanhan Liu Message-ID: <20170725094137.GJ2320@autoinstall.dev.6wind.com> References: <8a2f872e48b758172bffde3e08ed8ba066bc2fd8.1500905653.git.gowrishankar.m@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [dpdk-stable] [PATCH] net/mlx5: fix inconsistent link status query 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: Tue, 25 Jul 2017 09:41:47 -0000 On Tue, Jul 25, 2017 at 01:37:39PM +0530, Gowrishankar wrote: > From: Gowrishankar Muthukrishnan > > ETHTOOL_GLINKSETTINGS ioctl call in mlx5 pmd returns inconsistent > link status due to which any application relying on it would not > function correctly. > > Fixes: 188408719888 ("net/mlx5: fix support for newer link speeds") > Cc: stable@dpdk.org > > Signed-off-by: Gowrishankar Muthukrishnan > --- > v3: > - stick with C standard for uint32_t > > drivers/net/mlx5/mlx5_ethdev.c | 28 ++++++++++++++++++++-------- > 1 file changed, 20 insertions(+), 8 deletions(-) > > diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c > index b70b7b9..01f881e 100644 > --- a/drivers/net/mlx5/mlx5_ethdev.c > +++ b/drivers/net/mlx5/mlx5_ethdev.c > @@ -119,6 +119,7 @@ struct ethtool_link_settings { > #define ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT 38 > #define ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT 39 > #endif > +#define ETHTOOL_LINK_MODE_MASK_MAX_KERNEL_NU32 (SCHAR_MAX) As I have another comment about compilation stuff, I would also ask to remove those extra spaces. > /** > * Return private structure associated with an Ethernet device. > @@ -807,9 +808,12 @@ struct priv * > mlx5_link_update_unlocked_gs(struct rte_eth_dev *dev, int wait_to_complete) > { > struct priv *priv = mlx5_get_priv(dev); > - struct ethtool_link_settings edata = { > - .cmd = ETHTOOL_GLINKSETTINGS, > - }; > + struct { Misses the __extension__ before struct here. struct ethtool_link_settings is finishing with a flexible array (e.g. [0]) which avoids it to be included in another structure as it breaks the standard. > + struct ethtool_link_settings edata; > + uint32_t link_mode_data[3 * > + ETHTOOL_LINK_MODE_MASK_MAX_KERNEL_NU32]; > + } ecmd; Please add this __extension__ and it will be good ;) Thanks, -- Nélio Laranjeiro 6WIND