From patchwork Tue Jun 11 06:28:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Asaf Penso X-Patchwork-Id: 54633 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4EB8E1C26A; Tue, 11 Jun 2019 08:28:57 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70080.outbound.protection.outlook.com [40.107.7.80]) by dpdk.org (Postfix) with ESMTP id 078B91C268; Tue, 11 Jun 2019 08:28:56 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qk6zNroVpXMKHgLGBKqxJZCTrF9gwpGTaUVvon1n1v0=; b=ZvkDNkRcA5ACncRLfqDT3fmGRFdhK4yvVR25BYJW2CZ38hGj1QyCuFJuruaxOvouoX44YhCNjV+wq8gT8VBl4Pphy0unkUU3WVtJh3A4JR+qmhv4VjAOm3LV+6CQJxLvgTaiKU+9DXrBz49uCv5SxmmON1k9w7FEQw/qnQH02Qo= Received: from AM6PR05MB5736.eurprd05.prod.outlook.com (20.178.93.21) by AM6PR05MB5458.eurprd05.prod.outlook.com (20.177.118.156) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.10; Tue, 11 Jun 2019 06:28:54 +0000 Received: from AM6PR05MB5736.eurprd05.prod.outlook.com ([fe80::6445:10f6:796c:e1d9]) by AM6PR05MB5736.eurprd05.prod.outlook.com ([fe80::6445:10f6:796c:e1d9%7]) with mapi id 15.20.1965.017; Tue, 11 Jun 2019 06:28:54 +0000 From: Asaf Penso To: Yongseok Koh , Shahaf Shuler CC: "dev@dpdk.org" , "srinivas.narayan@att.com" , "stable@dpdk.org" Thread-Topic: [PATCH] net/mlx5: fix condition for calling mlx5_link_update_unlocked_gset Thread-Index: AQHVIB7xw5j1hyzqbEGn+bNaqQUYyQ== Date: Tue, 11 Jun 2019 06:28:54 +0000 Message-ID: <1560234526-93979-1-git-send-email-asafp@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR0501CA0041.eurprd05.prod.outlook.com (2603:10a6:800:60::27) To AM6PR05MB5736.eurprd05.prod.outlook.com (2603:10a6:20b:95::21) authentication-results: spf=none (sender IP is ) smtp.mailfrom=asafp@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 1.8.3.1 x-originating-ip: [37.142.13.130] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6150dce3-90eb-4826-599a-08d6ee361375 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:AM6PR05MB5458; x-ms-traffictypediagnostic: AM6PR05MB5458: x-ms-exchange-purlcount: 1 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 006546F32A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(136003)(366004)(346002)(396003)(39860400002)(189003)(199004)(476003)(386003)(2616005)(6506007)(102836004)(186003)(26005)(14444005)(14454004)(3846002)(6116002)(256004)(68736007)(66066001)(8936002)(6436002)(86362001)(50226002)(6486002)(81156014)(81166006)(53936002)(8676002)(6512007)(5660300002)(6306002)(4326008)(36756003)(73956011)(2906002)(316002)(71190400001)(7736002)(71200400001)(110136005)(25786009)(54906003)(305945005)(99286004)(85306007)(486006)(52116002)(966005)(6636002)(4720700003)(64756008)(66556008)(66476007)(66946007)(66446008)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB5458; H:AM6PR05MB5736.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: qUlHBLLGXm/nGMNZMqtjfjvVZsJjklAP88Xa529uuZunnFZ/wZXm5Jf53WS2M72BpxiDY6m6qWlhc3zl+7OIu8Xy+OVM1ziNA1hdRb1EU2hfV4c30Mn4rYdfBwJU+5N2DH8kIj5j5XMGMlQnWtoYmSSb/gwRiuD4+7Ax9Dviof+bJzF9RJ7tBJcJTPWASH6jEXo901DscnHw7CkPsx9jIIJgfI9C/kEYHzMdECDYUUP69dObrEcXFK9uf/8TnIgu2hdez5FUXDhtmO/qcOx877OXEzGkzNqnohWdyjlQPT7mOSiGyMw+MSJdGS82nDeZEY4NuLn+f0OTSB+ZS+bRg0jQP9eG8Frb5+A8u3T/4pUqTBDjMtjbfP4v/o92hfElf3m68Q/UuzaYkLOvtIudzPxbcht9UGc4c4w7WhDuLGs= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6150dce3-90eb-4826-599a-08d6ee361375 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jun 2019 06:28:54.4624 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: asafp@mellanox.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB5458 Subject: [dpdk-dev] [PATCH] net/mlx5: fix condition for calling mlx5_link_update_unlocked_gset 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" mlx5_link_update uses the newer ethtool command ETHTOOL_GLINKSETTINGS to determine interface capabilities but falls back to the older (deprecated) ETHTOOL_GSET command if the new method fails for any reason. The older method only supports reporting of capabilities up to 40G. However, mlx5_link_update_unlocked_gs can return a failure for a number of reasons (including the link being down). Using the older method in cases of transient failure of the method can result in reporting of reduced capabilities to the application. The older method (mlx5_link_update_unlocked_gset) should only be invoked if the newer method returns EOPNOTSUPP. Ref: https://bugs.dpdk.org/show_bug.cgi?id=289 Fixes: 7d2e32f7 ("net/mlx5: fix ethtool link setting call order") Cc: stable@dpdk.org Signed-off-by: Asaf Penso Reported-by: Srinivas Narayan --- drivers/net/mlx5/mlx5_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c index ac0500a..61e12cc 100644 --- a/drivers/net/mlx5/mlx5_ethdev.c +++ b/drivers/net/mlx5/mlx5_ethdev.c @@ -947,7 +947,7 @@ int mlx5_fw_version_get(struct rte_eth_dev *dev, char *fw_ver, size_t fw_size) do { ret = mlx5_link_update_unlocked_gs(dev, &dev_link); - if (ret) + if (ret == -ENOTSUP) ret = mlx5_link_update_unlocked_gset(dev, &dev_link); if (ret == 0) break;