From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0061.outbound.protection.outlook.com [104.47.2.61]) by dpdk.org (Postfix) with ESMTP id 5E1B0AAC6 for ; Tue, 5 Jun 2018 02:35:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y+DaiTooOK7O9ttP+UN2ckpaqQMZFZARdMzM7mOtc8w=; b=toZfSIqXe0L0XB3zBPVANazFDkInx8ababWW/gwjpPmxLi4QtVYdA07eEJdGLIdBEB6ICPi7FCSiDYHGY0ERlrf63vRz2x4povs3gUfOdW45cipaR4UVPgXRTAo6ZiE3aXpgENbbFR5pGgST9vVMG2h4vMmJYC27pMTQtATWZ/g= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; Received: from mellanox.com (209.116.155.178) by VI1PR0501MB2048.eurprd05.prod.outlook.com (2603:10a6:800:36::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.12; Tue, 5 Jun 2018 00:35:47 +0000 From: Yongseok Koh To: yliu@fridaylinux.org Cc: stable@dpdk.org, shahafs@mellanox.com, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com, Ophir Munk Date: Mon, 4 Jun 2018 17:35:10 -0700 Message-Id: <20180605003518.14227-2-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180605003518.14227-1-yskoh@mellanox.com> References: <20180605002732.13866-1-yskoh@mellanox.com> <20180605003518.14227-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: BYAPR07CA0036.namprd07.prod.outlook.com (2603:10b6:a02:bc::49) To VI1PR0501MB2048.eurprd05.prod.outlook.com (2603:10a6:800:36::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:VI1PR0501MB2048; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2048; 3:DeJ/K9N60n2URVc8jd/zymbFsIIJQ8UFwmAuRNCiv/BIUtmKSa3/E/hbObSoHTlsXXLAIUjou+G121tMJzsG/Uq1aQmiOGDZ3MnOF6mrTxmUqtkMgQ8CsowMHYhuLixMvXlY+Fl2EAW2uVat0kL5aGVNBOI2V4Lg+n0mscm21ADGVONrGxEj3xdAEkcHHEsujs6Nd74JLqYet8sP33JkKOifs85vWDUq/Xyq/N7yykfhizg8jEyE+kQREzr7qT4o; 25:9kkUlSjzS67ZKZoCLYn2LZ2cykFWwaAq+KrhiMVCy2lCeEP3jZJpOtzV+7xb3OXRDhfSH8GJy4UgQIRLnN894lUKiGlggs3bFh/0Y2kTgm/obG+2HiK6DkQShhbN8cD+ol8tYHjm+/xwujz1r5Miz9MTKX5F9wUQyl/OjMRbp4GykgZR3OOiOJFPWnbzab8l2ecijZ8Hpcm3SPoYEayhKeq1Dchnhn3Mk4uHlcPQaJpqgfGGlrjqOokdbIY03eeVi7tV2B98K1V0yhOVXS6ls/K9SpCRPiT3jVvnzW5rlEkklrxB+LVyc7b5S/6+Zq0zKfhhMgdh8uF3R2nh0veJ+w==; 31:5qNgX89vjnCBukJV1jFiJgGrhK66LfooVzKDgj+MybGA2JWiDkWfR1/N9sYWFaR77Q9KEOWmD253h1EAKkGbfERQDe85yRNUSZ0B8pnU0EKsBH8ZeSU2y1WEkHXhXctkrhp7Nw1BBQ5cD2+t/uZEGg0nI0lcVpecoZXGee0w2aarOaz+rRogvx+piNwC2PcKaBh96yfaSdxmjq0MoyhIDMVWvcK1lnL7lWMHwFB4gp4= X-MS-TrafficTypeDiagnostic: VI1PR0501MB2048: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2048; 20:aIPKruT/YPDvJ5L2xBtkEPVN9itdn04t8qUURpD505ftVPzAQDSBEbbweuKZgnPFyyxGllwRBcJuQDcvZbCtVZfrl4Lx4dXMzP1A2cMUPSnPr5C6rq/Ip72vvbrK/Cq99v+cFlP4k/m1V5hkCvJrM+jscL+vNUwEEi2Cngku93wiBQOuYTb7kMVHzWzFOeX9JY24DBs85hxsAyuJfSmAFrzNnrL3mWy4lscCV2fh0AObDBsMbns5oXcQl26jZGoaynb43V/jilqYz/d6UDUmto0WOwF55I/d8I/GwtNWyEqSwFpgaKcvVYkAH896ii3XA7/74b4Zakkrlme1T3/UN7FmQvNAmlT1NiRXmyuzzeMPW5PXdRjM3J/4ywjFdWenna9qRE1bnNdW2Wak5E+TdOn4vI65KCk8sBEQ9ARP8hE4rzu23ch/KNppYOVtnaoTOCa9BRD28a0xLIWt8gwpuYM5nA7qxxNrnsmsAC7+cdCJldQewIlOQeg6DWAyDzbF; 4:sAMMk+cr9CwrC5n1TmXNjVIC87aE0PHQcHI8x+ji9cEHnGAPbVAgCG50iJLAocAGdN7mn7d3/KOE3v6vWcVFU/7SuBJBZz8pLzKm3wFLpsTBZZE57nRvF07Aiz2F30HJ2tUS737wJabUpYODHVwZZMdHo3gAdCWvdIaijwu/b4cETBTShWe9txIwY3Lnk3GVI04U3OyjjDeOPoka7blkonsJa1IPA63/R0aGO5ZZY7ZUizQcMUSzyXN2s3ZhhYieq3R50Xzrb+5hHKatvWVvOQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:VI1PR0501MB2048; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0501MB2048; X-Forefront-PRVS: 0694C54398 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(346002)(396003)(376002)(39860400002)(39380400002)(199004)(189003)(3846002)(6666003)(2351001)(1076002)(6116002)(316002)(386003)(59450400001)(26005)(52116002)(186003)(2361001)(16526019)(68736007)(51416003)(7696005)(76176011)(48376002)(446003)(16586007)(55016002)(305945005)(956004)(11346002)(476003)(2616005)(486006)(50466002)(21086003)(69596002)(47776003)(53936002)(81156014)(81166006)(8676002)(86362001)(106356001)(8936002)(25786009)(50226002)(7736002)(478600001)(4326008)(5660300001)(36756003)(107886003)(6916009)(97736004)(66066001)(2906002)(105586002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2048; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0501MB2048; 23:nq3GT2ATp9Z8wLGWqw9TA9Ad8fKouSn4u/ZYwQr?= =?us-ascii?Q?lt42GLHoNSiK37mOpjIUgtyVvefpOT9r8er9r/rfLkAMycWxBe5RVrrnHuvv?= =?us-ascii?Q?91ZExt0X9wDY/FF+Si1Id86m2/ruYKhgTHIJ8fUaUlL7FR2K3yNkqV9dvAZ2?= =?us-ascii?Q?H/U0/eU/jcHqTVM9F1DKx7wgqbbWYW0jNfdIIuz3+p5DBvn10mbRFo77LC4J?= =?us-ascii?Q?eTx5wna53Pd043AzU8LCZNodTrkWAZ1UbhUyynsuYi4DqgI2CpAHanxPqPsP?= =?us-ascii?Q?M2MPJp80Az25Mmi8dMzBJpf3v7Rmp9fRNF77WmLKKz6zWHZ+n//lWy+bYmNP?= =?us-ascii?Q?Nkl+GQf8BAvVk7mOlw5+dnF0XtmyZm+xj/L2Dwp+Ojp/tZHqoW5UNHI6lrrl?= =?us-ascii?Q?mus1cQJTy920+HRIdyHYkOzYpL1M63qKctMR836HqKQsjEGw9gCDuKG5kBTQ?= =?us-ascii?Q?D9a5xiwBarCIvfjK/BJ/g5LvY+IdYhVKs8Z64REkA1Qx2za1t/JtE/WGb7pd?= =?us-ascii?Q?4hhbF9BSVSI7zyVZc3J3BKErUZrPoxwfV+F+342CuXOncgouRLcSCn63CA7L?= =?us-ascii?Q?RmKxz6xIhx+IRh48s7GjznvXoayhY5euB+2rW+ORHsUQmsVmkj3/GhGbinp/?= =?us-ascii?Q?kE0RjKObZQgYTAKIEpVsJxJV7f5e8KM9Nfn+WlxOkeRaFzKnzt7mp2dMsq2m?= =?us-ascii?Q?eSdYK5G2nopXuW8qfKoR9vnqKRUOjpPKcY9PgMo/Z3pBspNQ4zM2ZK2QZx1E?= =?us-ascii?Q?Rk52xjbUQ4AQkh/w+wOni8YPXOrYwhHiFfW7+/Vp0XaoPO4B+4adcCWKTsLP?= =?us-ascii?Q?toyyF+jYF1LH1ZV0wOoQgLPTv4vIPgBh8fqAC+276txM3lsaTMoRmzESUiTv?= =?us-ascii?Q?phG/4dCPGD1fDWUarIB3s2wYMv4bmXVkMcHbFVsC+1wAKFvXXKfe6L0G78w+?= =?us-ascii?Q?6CopckRGODMZ5nq23ym4wnsu2LonV3xJnJqRAdUQSbY86CmCKIiXOwc9azsx?= =?us-ascii?Q?NEkrGdgrHc9fVvWd8jdYBz2CYd8P+EiIsJOAyoXBPBueb/M4ESn6v9Of4IsL?= =?us-ascii?Q?TRNRvmGTcTKecIX8m01TGNwBTfm0bNkI6b/9tbHr8YadPJvvQCecGRIMRclr?= =?us-ascii?Q?F6o/Kn+yLZ8nqz2Yh8igug/9c2kOhlJRVvzii7Io9vdECGNgd6EAMzRiZ2/M?= =?us-ascii?Q?grErIBi2tacLoLL6dRL9xXB7tnwycGuKJt4FM3eFnDMqqk2EiMfmjrQUbxLm?= =?us-ascii?Q?DYqN6T5RJTx7ta/bK1yTQF0vEySFs4gewkgq+F4i1VS1l0bqxVt9TuppkEXt?= =?us-ascii?Q?+C9sAenDkL0ipVsPJWOb8Pi0=3D?= X-Microsoft-Antispam-Message-Info: aByzL3NvpQDVRjpZ46PW05NS6uOxu7ZmpTJXRxNuN36fbXtiz2V93XHT5ZtDXmcCmwAMxVqs9rGEtxXUWmoniwJsF2VZ9jjWWf3aG/u06IBnT+MLU/dkLsPrbH8RTXrCIvbkyQjY4t08n5fIoLTj4+6ranXTQpQ40n7mkm9OyKs5UvYmVxEr/Z7t7V9v+mJy X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2048; 6:kIRq5cy7s2z6lAxErvlxueTJm/JgzlNl7gXCPZDLFjGtTBXxxdB6okEM7ppNCMNG3iV3IyQ4YSrLO4qy7EOwaAxXK5HG3HegCI/tsWn2rvDh/tGV8oK9zi9mNFCl2iN8JxuCRisdYVYLZvlqueKhFoWjmNt+geUiaq1coXFwDnW+Zt2BudsgUbvBpM0zACjT+McmLox7vDKlGzA1cQXc2AUVutz9YcLXRhMFN9kJ5cah61ckzdE7OjIHZx4fvBI9l3vLginBhusLq3J/U0rhrjM11gzIP4JgYxJ+dvX4LH82VtGOFe6YgdgxPKsBDty5cPdJx0/ye44VX/bWpqVaZ+pUZ6to6yqsFGeGE4XE9iQ3OYYqitvNEvtc2uafOr9zF2Uz0Ctl5TvDuWfJHCpXYWfMwHbTJAgTtMkKhylGskfxoiIsCKl6AvbiTw1ImNLlDXRdnimcrCDKxLAk2yyhdA==; 5:XFRmqLBZ+3otUDZIPiKA+gv8ROc3syWN8oayyPBEJHOeCAoFQ4fcJWXV+230LHAPAeg8mCjvRyIH/I8nymcPPrwmTMmQYr1SIRFIKVHaV4lQ3bJlDVdTw3lqk/Cs3TrbnzXDiULWI7JTwcyFygckKw053eb3QCdW+SPpWtiiMtE=; 24:xAb84UqNVFmnuap2Dar3IlXdd36qsTz0GG31J+/fxFiDqCv66zLZRvNOr8dafQgambwt1P5RsrrGuhtUQPjQ+GDVXTGe8JHNBP4QNdH0e4g= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2048; 7:MV9IPc2UrGI8S6yE3KOdFm21R+G9/kv50JcxuAceKzfwPZWZb/V10p56PLVVXr+YC8ssvo/9wabntog+gXYxnjG1iSsWcFtJyaAX4Ll91L4VujMr2UYrfq16OL7368ERXBtYk1wft+uYkMKuNX6usCVxA1szce2LwKJeUz0qA7siLv8YPlj7y7EXRnBW80FR+Zw7xQrfDVqNGV18kYTLgvEfEghj5t9i2QKojqFcua7mVvB3PAVp5yOIf4HrFUKp X-MS-Office365-Filtering-Correlation-Id: 3adfff8c-e8be-4d8f-7693-08d5ca7c48d4 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2018 00:35:47.3494 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3adfff8c-e8be-4d8f-7693-08d5ca7c48d4 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2048 Subject: [dpdk-stable] [PATCH v2 11/67] net/mlx4: fix single port configuration 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, 05 Jun 2018 00:35:50 -0000 From: Ophir Munk [ upstream commit a43fba2c1ea2e2f602c603f8338542f165b1c06b ] The number of mlx4 present ports is calculated as follows: conf.ports.present |= (UINT64_C(1) << device_attr.phys_port_cnt) - 1; That is - all ones sequence (due to -1 subtraction) When retrieving the number of ports, 1 must be added in order to obtain the correct number of ports to the power of 2, as follows: uint32_t ports = rte_log2_u32(conf->ports.present + 1); If 1 was not added, in the case of one port, the number of ports would be falsely calculated as 0. Fixes: 8264279967dc ("net/mlx4: check max number of ports dynamically") Cc: stable@dpdk.org Signed-off-by: Ophir Munk Acked-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 97dac6439..9a5773381 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -336,7 +336,7 @@ mlx4_arg_parse(const char *key, const char *val, struct mlx4_conf *conf) return -rte_errno; } if (strcmp(MLX4_PMD_PORT_KVARG, key) == 0) { - uint32_t ports = rte_log2_u32(conf->ports.present); + uint32_t ports = rte_log2_u32(conf->ports.present + 1); if (tmp >= ports) { ERROR("port index %lu outside range [0,%" PRIu32 ")", -- 2.11.0