From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0078.outbound.protection.outlook.com [104.47.1.78]) by dpdk.org (Postfix) with ESMTP id 410232986 for ; Tue, 5 Jun 2018 02:12:14 +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=r4Jr3il/Mh+KedjOVFTKyNaeHsyPvIuXDt/YpcbFMDpBQYl87yQ0T34alpE0oPzAyfndl0BN4PobtMwXbzVLeWPV2YblO7Q3Loyu0OBbUA6AIMw4LlS5+FXBha2DdOr3Tfza1XaYRzkfQvHUC4j5VuyYI+ppHqiSlbLaWHpwYPs= Received: from mellanox.com (209.116.155.178) by AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.11; Tue, 5 Jun 2018 00:12:11 +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:10:33 -0700 Message-Id: <20180605001129.13184-12-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180605001129.13184-1-yskoh@mellanox.com> References: <20180605001129.13184-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: CO1PR15CA0060.namprd15.prod.outlook.com (2603:10b6:101:1f::28) To AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::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:AM5PR0501MB2036; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 3:SoyXJoTzKIhdEXIhzGkejjfCo0IrAkVpAV9SeXVI0c2eslFDKBZqWVMRdQbSlKNg0z2LeCjD7RoUc3zWb3ub/1L9iq6QW/wPF6Nr85KNQRly8Poj6ShjC9hyDOP8w59X7FVz4uV9wg5nkGzizQBNW8tCj3nNS9mBVprJ3oVsk72d4NQFbkrJFnH5gWa3yTgXtE1AmSgEwPrY+Ch60g8OphBhMPTYQwOzGV2OwpBx17hRQJazoOxZZcxLXCFxvSZs; 25:XHcbej6KyiQ4fznmE0m8gEb00AC5Wd+u377l6zK9qK6B+ccEaBV2Dlz99UyGa/maJ6Xd57sue7fhqk7I1TBCkIQR3DZRDQ12DUTGfwtyPG1U4eG3OpXCOMudGUKv4PiF3vyWO2LRxj4DIJvp3pKjYwDAfyuhe2hgWF5X8D+eDEztrHx98Pu3pcQmZ0mZiFXtk8SJEKZRupePfq+7LBE8/6+z0U/B57n9UMTduqMe8y5Kz/vjMkDn6n4ihtro/oBnPXsU5p5MuDAsuDqhLXcVfePx1qYj4U+twYmckFDcXaRtXACLdLAnp66liNyYh6TR3tS5LiULhIsd5WMRhd4DdQ==; 31:OnPbYD17oBJKC/OTWG7bB5NTAhB1zJ+kscbbbGIwXjfjAm/hOODiS19UJBhx7Ic6u6xhJrk78S/UAOipppCoM39pdOcsR6EBZ46gSc7PyBXu8+NMZKncOCQpBhMoTpKggiWwWwm9Kzpl/gQsZJaZDf/Lyi1NhC6u6mQ635hpeciT3cXTcUQTk4uZrEvrTTwjRQ6hV/Bkl14TwbqIO7J7JJ4OsBfEFl+00XqQzH8cvqQ= X-MS-TrafficTypeDiagnostic: AM5PR0501MB2036: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 20:R3Xdel+zgf4s4XzskmlckhwRnyJBFlGhE0E0uQcSy9OEVAZHdT4z9TJm1pmZ6mDtpbo/9S4jPL2awxs+Z3lC7Kx3lL/fDVFf2EwuN6Alrb4lyvMqBhABNTuYV45ejnJFkFdVB0MeFyCWUpKhL+ropgnEEVOOhkvwr90jC50hd1MFNXwG9X2+j/dfHOGMquOYPktJ/naXYCDE+sDH6NS8ZPXe55YRwUDQ3REyQqGlL4DG3aM+JRf+9OembUOfywwJ+NkYyytMklHWwhWc1Q+xMPfZ3UNGqBhJ5B2i79TH2zCcuFR8Wsfo6jxZIAlXBvZHHfrbTwxJ1CjxuoZu9NiMCuHIFxPS1G5VOQNRovr52frXcu3MJWSkMFfZFhYHtLv6lmnMfQJajKWRVEqOJbMyBlRQwpUYiH/DmC96Pn+qdUdUaW5EcyI+A/WVBinO0QuYYmKwL8Me6UOcbzJlvXhbENtqZqbMu4VsCG0zXdUVv6Qzq9FyvDJJ2Cighnjelly9; 4:2ymJP+GhQz0pOX6gbmMeAq4K2Xc43ooewAeO3vsAiA0XJ+N2OMaGM92zRtLSP2sClj1MSrCBYZDKyGlpoHGS+6mUJVw4Zij4sdnyXFuQLJp7nNMPr6Tu8NXZkrji/C+ACGc6y6tlIzdLxNYDy1zc8mON1ZLrNskazSZswibWYzFeP/YJhxlo6gITmBSBrCrAWrInyqYTwNDK2Yu/zkFGaakZnPCyKEf7WQDFTi2inl4o9T8E+psY9DiSVqWw6G2U866CUZQNq7RvEKRu2EdeoA== 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)(5005006)(8121501046)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:AM5PR0501MB2036; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0501MB2036; X-Forefront-PRVS: 0694C54398 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(366004)(396003)(39860400002)(346002)(376002)(189003)(199004)(478600001)(81156014)(76176011)(51416003)(7696005)(956004)(2361001)(50226002)(305945005)(2616005)(50466002)(47776003)(486006)(97736004)(5660300001)(6666003)(2351001)(106356001)(8936002)(186003)(81166006)(52116002)(6116002)(476003)(6916009)(386003)(446003)(11346002)(59450400001)(66066001)(26005)(3846002)(8676002)(16526019)(1076002)(25786009)(21086003)(86362001)(53936002)(107886003)(4326008)(2906002)(316002)(55016002)(36756003)(48376002)(105586002)(69596002)(68736007)(7736002)(16586007); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2036; H:mellanox.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-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0501MB2036; 23:BDFfmfnIi//XPhBfMpOwPjr1bqgl6FAIJGjz9p2?= =?us-ascii?Q?3T9ds3q52AvK7GHrKCZcliaIjcdR5uoxNpF2Slf5ehEPqbqf2tz7cXcmPZu2?= =?us-ascii?Q?xe9SIM6BsFu/hvyF+2QBFmxmazwkecPp7nkA0uFBHk0xyC6WopBYUbOOXmCV?= =?us-ascii?Q?9haCpRIb/dxT9wayTqUZycbvD08lxst6FLgpLzyBW8KpEvWRUYtbvU3sTRFi?= =?us-ascii?Q?UBEGAWZ2JNLhrmPI3+aftbVWEV9Q+uEKOltFQbnqkTNLAdjYOFV9OfNZs6m1?= =?us-ascii?Q?bvF7m4QAkgBKEpCMOIaZ1LIAK+hqN4lo37OEEoVZaNCqVIDMepA8XktoKbzG?= =?us-ascii?Q?/lVKtRCtvOjiFc7ByNDzSv8mYJm/m2NqSXJUBO5MU+pyL+NSIsHYsqe0fBlm?= =?us-ascii?Q?L7T6Aplk9zgoHu6nQydOgpSLTP7i03zxNxzlACtND5QfwqGiEtf0TChH6Cl2?= =?us-ascii?Q?We7jhxmK1LFdyctinmSII9CjErmh9NikdC6GNuSxSjcYPbw1ksgRhwnci+wG?= =?us-ascii?Q?RkXKEKYyxfRofvFt+IVWy9kcPqGSsAJH3S7S1yCYDNWDXAcZYKv8ChaL/rkU?= =?us-ascii?Q?XTDfbbXb0NGQIZinWbhVGnIGtlvgG8Hv2F96sXDHf6dEAAaMS3wdFn8jSIWY?= =?us-ascii?Q?bbkdLBgqrOtVzviAvLokg6I0uTTij/0F758WSb30Fgjd2Xz4Kn410/H6IPg1?= =?us-ascii?Q?hPw1T+H6LyKPxmZcXIeIWlBxE3EO3wVj5erJt5FtOj4PLEd8rr1txdKQ/oly?= =?us-ascii?Q?D/ik4uTDH9m6E3T4LZbUajhKrABoMvbpGYdRp8DwE17oBaOn6jcpnwIdQjM7?= =?us-ascii?Q?FibJ96Lcnmp5gCkEUMNjKr9/uZjbvtcrPLWISjqUw/xKwrvrTprdM0/5XCgm?= =?us-ascii?Q?XdY9I5oiyrXC9wpU6wWjiCEix6NiGUlq5hx7Ma6QqhJOZPY5PxY89iPRUX/p?= =?us-ascii?Q?7C3fndAjsbNi7VMMt5i5fv7yR/tbMBedQcuGznQv0BJjvUZfsbqMbIxRl5Q/?= =?us-ascii?Q?xjc7EQzV/BWZUukMVUAj3BfL02giH5v3asGwpHwCMoQnymYRroydRULYm0/M?= =?us-ascii?Q?P83n4c8qAKRJMdml/2uqzEd14hBZZgO86TMDQJm5RQV/MK3RK8SaxDoqpjik?= =?us-ascii?Q?gwC11VgyslimIE6XWzchUrPiT5sSptv+CVf9lcZzjA3RtrD+fFp1GYTWzZAO?= =?us-ascii?Q?3rshCeW/PV41DhxUk1QgCKrSldIcZCmbpvgoTwVjjrpKQmDa7jG7vgn7Y3mT?= =?us-ascii?Q?4R+zvBExOB3E2WleN1aAthT33TGOgN0Yl3B7KB/HwmaHLLMK7ByDaDx5xMq6?= =?us-ascii?Q?aLzOpnxTltta1R56Pao3WG7U=3D?= X-Microsoft-Antispam-Message-Info: JxAf1KA+SSDhiqwoPD3gxfg2yh3KS3aO9KUicpYJpFLnlkVnp8gYJ9p86IL4uCJm0qOBD7mxeumjN4UrKkcn3kxyno2JQ1TWhBx6YuTDvdzMlka9N32vN9QK4HIp6nvEI92MFtxrSlvrZcqu98Ptl9CeyiLnYQxucIIkZ7/+OoYTW0kyCZ1O2uLjExYcI5h6 X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 6:Vn/uoFITG15O9BQGbKPAKbetq7udB1K9qhe+AzhmBm4QqrtbWQ1jXMJ3WtteVACEiR3muamiuu+/mIGt+7Tznlw7sYTOdfOKOy4TYTKVnWENo5iRgx6vNHJzOe/2OoXjmnb/sy3GEWHxf2frDSng1rtFdIGm4NkMcoAI0sPkiWP8S5zQCvXUxGzTz5z/qi0ekB3djZjwJvKrzk5CZlmyK6Ks2RTfWn6WA74jF7/qf+IqhgIXzJ39khTu1VVVP38Qc9m5jMYPPgHJgcl0cKvRTUt2hCnB/AFVuPEEXP/yPxyVcrhy3rKopko8lFnQq0g0rDs/1yuduCCB/dAGoZSQT/YuXcjGgABDuMSwh7PpBjKcWhvjFde3BYL3wNh2Y/OzyjWXgyG1l7yzmGOzz6lawOOfxstwH3xL5OAWvF9oJeTPpjheyjjGNPBXhV491aKLmVbU4FBhapQAAsFRPkX9mw==; 5:bz4irTzXgyf6Kd4B6YXwPWkifLJCLIMLSCMX/XLabLc6a/p/n9eZGJWsBhvHHe5LovBsZm1ejoikohAdJlFS4x2JdwEsPuWhBGIvGTYVvVKaeUquwz6L+buNtkMNLcsM5mEQ6w7WrMBr2PnZge8PUhVdicZ6Bex+2oiC1C5vkj4=; 24:ORA8WP9PadfU2ZKWSF51ESvQHkYzI6cfs3gQ3Xt5hJWmETTPXa1y8AxjnUUGu2TkFWJy+mqzd/Mw2YoAW9o4V2AOSrFwiiZ0LpDS2PvG7EU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 7:hnMLqn5zK717pongApdViDJOlaqFsBXgpmYf9Moyd1YT0jp1kTrMrdRBc9i8uLxq4PUB04GPbymit4rv8A54r1Yw5Z0z96SCJvRvbSrGmM4ufYcomAwLXJPXY3SqjQ1PHSiW40wxkxK1T+iGFpG2K2aK76FiNI0MSyz+/1xgECAXzOZeB2cHNEJT36BSBnBGcrtm5gnONS8fhmIWsrKzWFGmjIeuoBmyFI5ZCxsuHMDEq449ktoi1QYaH95mu24G X-MS-Office365-Filtering-Correlation-Id: 66042544-3cdb-4308-8552-08d5ca78fd06 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2018 00:12:11.7272 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 66042544-3cdb-4308-8552-08d5ca78fd06 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2036 Subject: [dpdk-stable] [PATCH 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:12:14 -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