From patchwork Tue May 10 12:51:42 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Talat Batheesh X-Patchwork-Id: 620650 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3r41Ct16ZWz9t3h; Wed, 11 May 2016 00:02:34 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b=ZsWN71Pb; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1b08F0-0007rR-AN; Tue, 10 May 2016 14:02:26 +0000 Received: from mail-am1on0065.outbound.protection.outlook.com ([157.56.112.65] helo=emea01-am1-obe.outbound.protection.outlook.com) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1b0793-000705-2I for kernel-team@lists.ubuntu.com; Tue, 10 May 2016 12:52:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=t49W9LtUwhxXfu1FckD6+iCdkHANd+F7Zv5ftQwzteo=; b=ZsWN71PbPr4N8kZg33SjtGYGdfZOJ+p1pxLxXH/67++7aTkfP2RuhAzcjI3/9BiL3x9fFzBIREKCu7B5oEp/GRkrc2VquL+lGzpeIfi4u3n3Hy4Z+FQdeh6Im7MfxoQvURFUiXvXhxNYacXvAFsEnqJ/yUpTpTpw2cJ/v2DqQDo= Authentication-Results: lists.ubuntu.com; dkim=none (message not signed) header.d=none;lists.ubuntu.com; dmarc=none action=none header.from=mellanox.com; Received: from dev-h-vrt-005.mth.labs.mlnx (193.47.165.251) by HE1PR05MB1306.eurprd05.prod.outlook.com (10.162.250.151) with Microsoft SMTP Server (TLS) id 15.1.492.11; Tue, 10 May 2016 12:52:10 +0000 From: Talat Batheesh To: Subject: [PATCH] [xenial] [PATCH] (upstream) net/mlx5e: Fix minimum MTU Date: Tue, 10 May 2016 15:51:42 +0300 Message-ID: <1462884702-59963-1-git-send-email-talatb@mellanox.com> X-Mailer: git-send-email 2.5.0 MIME-Version: 1.0 X-Originating-IP: [193.47.165.251] X-ClientProxiedBy: VI1PR07CA0045.eurprd07.prod.outlook.com (10.164.94.141) To HE1PR05MB1306.eurprd05.prod.outlook.com (10.162.250.151) X-MS-Office365-Filtering-Correlation-Id: 97fe13a9-3272-49ee-60fa-08d378d1e71e X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 2:TbRwNpnwnbhpPPNSYRBHUxHwe3znbGEURkT+DJd9/1s3Tp6UsGjpQC2pjOuDKq/gULaMyIFaT2xS387cVwIof/tG6lDInYwuSCwBcHsjk1Ok/UX0fIcPJ/A5SJIbjRk/w3t8t37GM9ZsNzuRONmUFkplRdtiMJhkM12bciYr/jNVC312bn8bP827a/kEg/vF; 3:4A+xml8PWghgAAyLGjkygiUr9QicUsjLw5MqINjOgC9zCQxwpX/9TUms0zJteRx9f0T92bPD2sgwJvccLCA4Bgsp/suxbFoJbqBGOmY+yPUL4+lXyqPaEcBt2cE/BueS; 25:aq+Iv78jA0YPDWw5gflq4hB9JUQB/CdLx55Z33c0m1Lf424mnOu4Go0LBeW2YLLbFz1cvMpUGBYib4laZ0vlupI7d7ci616x8x5IlCcrX6mGXuWf6S47j+0AWyMyZowCbOqA+1KEgS1z0fp8hejOKDUQ24QI4gdCFcALcdthtTJI4ykWbvbrfadjxEFAO2o1L9GUhAk0eDdB+Ec97YQw7In+vdGMuQSIqr/qRqlHjcsXF2CtIR3MQBmlPgbbRXCEvRLZb0fehaFaaSX6Fth8NZx6YvcwPvhHDZR1bY+BhqHUM+WrsZ+UYgCloyiPWroucNqG67kXOcXtb/PV3IKb6YXgAFqtv5Dllrc+Bbjvyrfvt1MpEY1lcMekwwNGZqCAT24SwsGzt5iJW2Xvied3ntDDM6iVNGYU1LzbxCXsDRJ+gAv1BUW/zuqaHqgqb4d66pajZC4kKRaaN4zpG7fthg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR05MB1306; X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 20:SD75ZMAA5gjSSaxSD8RfUnKWucyLj5vq1NUpVUdTU4veMojr7gVVT1wXY6UphjebbEYVHXFPhZ9nYPaWBfFsDPlyNGUrdeUG06GEHyHeZ701zYaOgmvKIRc0Cfr0dgTTyekD/bS6Ka138Qjlrt1STdADzG0Z+Ra7S/JERGawqiVmC5Q6VQoSOxozyw2ZjojGWwENL6lrT3feqTW4ZVYfOemiq3OyWOj7rhqQpneBmTHgFVtc3F3krtodgm5J29fokqz1LTjEMx9jaL5hV65X1mYJbPkqKiBdNeR3B1w44GWD/62a9gfg2iKEKE8d6grLohZk236Tn1dG5GXoAyL2O0yhb++8LyX4Bu3HvcYG7nk+QbkzC/JqiUjrEy2TulHvjEK7Sdm6zeEXagP5v8ahPIXnCwK3NbbhdrVvUgzerUiCaUjbCy8hoOt8QzEs4XazEReci0a5GiEobiKwGYmWOKwBVhiayY65yQMs/Uh211d8NKMxQLrro8WkdweIU2lw; 4:dcazEGQWL9b4e8EttuvUPJ5VbVyfFG2SMcKvA/y6sS60lco96XokgX6OYkb1l1JJGiRSabFGvlEGAszQr2MGnxk5m2DTSSrvcKx4QxXUV2XNuTUqDtP1zW77AiB9sHzezifmjMhAIXG2GyQvxN0BjIuI+pL6KgQocu6PFlfKdwMp0aZy0AFzX0sNoWQcUoSBqppvjeos033qg8jEWle+SJYdHtpEwLzQtigEWcx/PJsZAw7UyVLB83Tu+qkTFyiHf2XroWvqE3yNTt6z6w5oj7JVCdr9PZMgwHgIXLr+0jsH4sIjqYWgUi6/ecMpNW7ry5jnRlcC97PKHRToXaABgdmJO+hkb6S/6HNNxdY7E8PG6GLbLL0B3yBwAjd/wslOxUudfhDLGIfgc3uC7Shuwg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026); SRVR:HE1PR05MB1306; BCL:0; PCL:0; RULEID:; SRVR:HE1PR05MB1306; X-Forefront-PRVS: 0938781D02 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(77096005)(50226002)(42186005)(5003940100001)(2351001)(5004730100002)(15975445007)(36756003)(33646002)(19580405001)(19580395003)(229853001)(86362001)(48376002)(5008740100001)(81166005)(2906002)(50466002)(66066001)(47776003)(50986999)(4001430100002)(450100001)(107886002)(110136002)(189998001)(3846002)(586003)(6116002)(92566002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR05MB1306; H:dev-h-vrt-005.mth.labs.mlnx; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 23:PeB2fiAieec/oFB/WRnXzcVNqymFx23RpYe+0E8gJxNAnasyS4LTUBq4y+I5c9Q2mQpWdfxwaP3i9HcowE6qMqv7RqUpJOmXzzZaKvCQXiFVDeA2W0/uHPe9HVhntujph3conIjpK9yceNnRymq62K40gvdh+nFNN2ACkPbxIDmWC9C8o40iCLJpabztgN2JtW8DTxePBgLyWGghY9ddrT7t4fN1Pvqy12TF7JFq3sKuL3Nr1SEG37wuWFNowrjjX0fCbFTVVPD7+8RCXU8ca0smojjo12LN+xMRd2BzMKuUaMni6WeJOmeb9CrQ1uhZBezQn0u0Wu4dCAyEqVBAUa1V0FetGSkKx9KtUBOeQMmMWBhPzU7vihy6kYF4NeQwABxShX4BBZLynv3e96b9Ekq2kbDuz3l4o1MqI3FpLVz/tbocEx9plbGIcnmZUYi1to8WsPgqBSsKOhZtAU9xX+0Z8cFR3XxhkjX3XmrEuoYpGewFzKj/8Dhr9bbi9Gr3Ti4CotLm0ypDoC1aVPee4XQBPnxEyLyfCGFNxMrGeCJqtY1vhbNypVvpyS1P9QXuPogBF4NufivaKlE8/jGUGQzMYjyXnHulQ6c5r+/yokg42+Fc7Qm5DkbcGux5VVay5jsxA/SHHBzWGMsueojSlR7AXNKEAaBQOz0fRVVEVqgyBM3FT6rinu5XhNBsSGOzQoHRmP4OdA8f5Asiem7Y0ZnhlGhHhwAFzFP4+JF6ouGzEZR+r2WctKeJC+mV8Jfw4IguAx3zulLjnOoma45Enh79KZiGLslJl/50USyBFS5bvznfE53jq2nrLlwVBln5ZDq6tprGUZcYsbxUBzQjEuxx0c4Q2cDn+T2X8hyeQTwjIQTSXbOXqPeE3x8zwJFJ/ThMoRgPsxF7O+fFY8Z7kA== X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB1306; 5:GvPM+3Glq7nCqrmv6DY/NeDKS1GEk2ehHKcjwnUHyaysBJA7kKkmMOfPUrVJDzksDR29XvBqDYLtHKrOi3FRSdfzA7Esi/EKLGaw05GlXSMfE8PbO3u51nGYJ+OuMVQyuAmZTgVZSfE6z7iA+SBKvQ==; 24:SIYBiuIImwsbJ+deWXHsDQOfG9ouf72DPKrZW/NT0YDUOBb49uwlB2UDwkCc+hMim/tGsvWWtdw7g3YvnkTDKCgWQO6U4KOSwhOIqJBbUVU=; 7:r5/Vqyb3VoHGrPE0ZVlnSQFbktGpIuixF+eXRhb0+MKQ57Xw84KGD1zzXFPrfJOmP/P1bqirLGcGHcvoaZOVRauULHAAPtRyP5/r3w6WLKS+AVttHzuBK7omG0hH7XoxI43FXFXvTZolQh91lGT2iJDYg73ydmKvGQ07mJlCNrE= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2016 12:52:10.4303 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR05MB1306 X-Mailman-Approved-At: Tue, 10 May 2016 14:02:25 +0000 Cc: shanim@mellanox.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com From: Saeed Mahameed BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1528466 Minimum MTU that can be set in Connectx4 device is 68. This fixes the case where a user wants to set invalid MTU, the driver will fail to satisfy this request and the interface will stay down. It is better to report an error and continue working with old mtu. Signed-off-by: Saeed Mahameed Signed-off-by: David S. Miller (cherry picked from commit d8edd2469ace550db707798180d1c84d81f93bca upstream) Signed-off-by: Talat Batheesh --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 9923450..5feb124 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -1890,22 +1890,27 @@ static int mlx5e_set_features(struct net_device *netdev, return err; } +#define MXL5_HW_MIN_MTU 64 +#define MXL5E_MIN_MTU (MXL5_HW_MIN_MTU + ETH_FCS_LEN) + static int mlx5e_change_mtu(struct net_device *netdev, int new_mtu) { struct mlx5e_priv *priv = netdev_priv(netdev); struct mlx5_core_dev *mdev = priv->mdev; bool was_opened; - int max_mtu; + u16 max_mtu; + u16 min_mtu; int err = 0; mlx5_query_port_max_mtu(mdev, &max_mtu, 1); max_mtu = MLX5E_HW2SW_MTU(max_mtu); + min_mtu = MLX5E_HW2SW_MTU(MXL5E_MIN_MTU); - if (new_mtu > max_mtu) { + if (new_mtu > max_mtu || new_mtu < min_mtu) { netdev_err(netdev, - "%s: Bad MTU (%d) > (%d) Max\n", - __func__, new_mtu, max_mtu); + "%s: Bad MTU (%d), valid range is: [%d..%d]\n", + __func__, new_mtu, min_mtu, max_mtu); return -EINVAL; }