From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30045.outbound.protection.outlook.com [40.107.3.45]) by dpdk.org (Postfix) with ESMTP id AE6AD47CD for ; Mon, 13 Aug 2018 22:40:37 +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=aHTBiv3Imyrb36NNEtZMLER6kIg9HkXJHqZKDokqxxg=; b=m6zxQJOZKXvr4U0YN5smzPmxVeC0S+U3xstbRdeESV9vyfv3MS3IrEMkGdodmFwQ9SISOU/uPz/hb4iB7NUGbB/GBytLZfoZBnMAuVDYPulAFgHMd4hPX/fAnsOyjir92dIiGbzzvU5i9oE65b9/SaHjClsNr8dAALHjLEmXp3Y= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; Received: from mellanox.com (209.116.155.178) by DB3PR0502MB3977.eurprd05.prod.outlook.com (2603:10a6:8:10::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1038.19; Mon, 13 Aug 2018 20:40:35 +0000 From: Yongseok Koh To: Ajit Khaparde Cc: Randy Schacher , dpdk stable Date: Mon, 13 Aug 2018 13:40:04 -0700 Message-Id: <20180813204010.25281-4-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180813204010.25281-1-yskoh@mellanox.com> References: <20180813204010.25281-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: BN6PR2001CA0042.namprd20.prod.outlook.com (2603:10b6:405:16::28) To DB3PR0502MB3977.eurprd05.prod.outlook.com (2603:10a6:8:10::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2f5262dc-52ef-4d76-c973-08d6015d0633 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB3PR0502MB3977; X-Microsoft-Exchange-Diagnostics: 1; DB3PR0502MB3977; 3:jRfb+oftZhKnYvDS6S7+ixPLBMv548RxZrjYEcBSMhiYrdsolzzsGxV6SoOgWRH+rTYg8z02KkF0eNOl3anjM6BNWaiw60K5k4HGWEAFOsQiVq3wVTx5v8Oh2bI1jJAF/277KCvj2w0XMbodEAvqlAIkEc8AZfNqgO+sUqzGTg/NYyEaXr5bac43Ai2jDNT0TjnOhpNljs+scB5+NlENZAaLAlTg8NaSIYFziesKgHWr9TXknTDqdk62nq56obzr; 25:FlMZ2XWECvCpDzMYlNwrHbsN7G5uBYefmvBFf2Ds56jCRUshbsxd2+Yb0jKbT8Z8WZyiRoHZAgbTmsbdYNX/PRbFR5ut4HjfuGnJLjFYxeQl4dvjMgZ45qlV1QOoMt6S0DshniA/txErliN5RQllQOfdu0uX2zcIFTVbSOIrV+ZW/7ytNdsxkdtb7S/5H2DCECB05aZlK10hgjprt5WROgzVtLZvM4BUuKnW/0j4dY2KAcLJULEsidzFesaFRaR4xK2HHbojv0rmP7qskXGw321J/gHVruPPCIkft8G3/pp+/bVE1qQzEUelds6G6BLlkb8RQDgpWeEBTsBGKMuT0A==; 31:pBtEO248vYEx7s1DyhA8n2p0cP0mjzehz2/IGV9gQd7q+8Rcs+FPAs04eiMDKCfiyuyjvdtzfChafjWtjdd4wQojgFXXOdtIIWWofMC424lKQTAGdnomKKTwXc5N23Qvt739f1KYILoD7aRM7mDX6YsHVvZDzOC4zDVm8I8s3IfMWz3MUH7P7Vfv+xNEMuqUxZykmKhs7B2ZI6CQiw8K/0/I6z9kTYs94vWxmH3JCq4= X-MS-TrafficTypeDiagnostic: DB3PR0502MB3977: X-Microsoft-Exchange-Diagnostics: 1; DB3PR0502MB3977; 20:NRdOVhFgYhIemc1CpTX5lXO7D0QdD4CMs79uO2lNrMMFv4dUp0NuHLRPh9C/AJBPeYzYI4yETIhrM978V/a7mplciDPqltYuCF44v1GwZ9wUII13p3ANphPBwB3l40USOPxICGPYpyKQ9wF6BoXtqmNEYlQpa2haLPScBp+YX+hSWbbKMIHj6zhViWSz0S/anRDYdDXI+n4TpqmzC9RaOKpIfKieYt+M6+kaoa/2lDDVawFORsR2VSOBXy56SBkU21KF/7VVPlSw3j3ptoUqNL/S5LWQI95+huWKi5Ep7/d5pj8vFc2VpSv/6/SE+Cz2dj6oAYgUeqVsU/Mb0X1INZhTgFoIllT4PDp1oJd8rd4C2S1xjOWCihIYTMT5HbQJwi1mf6tyME6ETewaKyvCvGIStPzi2cA/PwRjXN/JLIT9D2QTWUS3I3QmQpsg0jNBXmzmGj5SvFCNRL+D96GbPo2hL9QvCfUCGWr5f03/nVsKP0UTv0tsbeh9FVPY/NJ8; 4:rbLcnB7oNEPq2zEwT30lEdZQVA4TbnOqtfwl1431hSQUuEYdG+1yv3LeEbj64LHioiZUnCk9zCIO8bd1NQxIC2fLpXOeq2tpOf8p+aut6+cmRQvXf0UgpbcWgdB2OXYILrpA7tVkLemlTELxqvg1Nl3diNoUBspypmZrGuZPbTEJS9ynrxAwrYpwSRrGdLJghtpwXWpla6fb0z0fE5UoQdijyG5b8DaXk07UK0pTrnZJe12wHLQaAuzfyFj+9hUmjQAJzN50rLrr4dULzhB0ZcA3svlUH81VaxLyMp7mdaX1J7Ifxr5kLg15EdHq+FKM X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(208715162771679); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(3231311)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:DB3PR0502MB3977; BCL:0; PCL:0; RULEID:; SRVR:DB3PR0502MB3977; X-Forefront-PRVS: 07630F72AD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(136003)(346002)(396003)(366004)(39860400002)(69234005)(28163001)(189003)(199004)(4326008)(6666003)(6916009)(7736002)(47776003)(50226002)(25786009)(105586002)(26005)(446003)(53376002)(6306002)(48376002)(69596002)(575784001)(86362001)(53936002)(8676002)(14444005)(81166006)(966005)(81156014)(16526019)(305945005)(186003)(66066001)(68736007)(21086003)(386003)(1720100001)(7696005)(52116002)(51416003)(106356001)(1076002)(50466002)(6116002)(55016002)(2906002)(3846002)(16586007)(486006)(5660300001)(316002)(54906003)(36756003)(76176011)(53546011)(956004)(8936002)(478600001)(476003)(97736004)(11346002)(2616005); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB3977; 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; DB3PR0502MB3977; 23:OH+BrqU1nTqVoJ9pnO2Oi+UntqupanoIEAuE75R?= =?us-ascii?Q?I7vFv8fb33YwZucuQiLCGniLSYtnipJOUjOwO+1m0zXfFsJT/UtnEc5W4/rU?= =?us-ascii?Q?FCBnV3JDcz78ivfblLdqws0EKwO7z3npOUN07KGqc1hLS7MeaybSFgp7tJbl?= =?us-ascii?Q?uGL/x/Lq9zbJGjXZYotYjl34AFvjlj+LvRW+Ga0Rw618aFwIus9d75YNL7fO?= =?us-ascii?Q?v9OcmAaFCjy9t64GqUSlYnVQlWK2hFtxTz+EiiW+nA3EYKJ6PujC+LflaCt7?= =?us-ascii?Q?kwktLH8geYP7zQH0T7/WqGGOT0XBNaUEk3Men3sOqj5w9gw8gIm6oxsZfnig?= =?us-ascii?Q?X5wsLMOpB1bqcsKlHAzZZaeiUWvtR30rVjP17ElOfcHFdxKK3GGwYs7yCG1E?= =?us-ascii?Q?v+PGqr79DMvt/NFILo2eLuPEx27wvD0/yw1zhPX8J7YhnF6vIn6K61eOCyms?= =?us-ascii?Q?Kfj4A/4W62vIPNceZeyg4pbO6TZQ6I9vpC659ggHOWiClHjKikZelre7Obl8?= =?us-ascii?Q?OMyHjD2G6LvG5SxGsY6QQ6Rk2EkzSox1md6X5hOHB7p4VVbdsk1AoKiInlOX?= =?us-ascii?Q?Z3hjncXaHVmIM8sAA3apk7m9UkomUF1iYoZztqw2X7ufKYs3Gn4GVr38t9qG?= =?us-ascii?Q?aXwO0xuKK44dezKTn0SQPVcIk1gO2KWXDKvJ20/Wtutw50KlyCETVJZKNPOz?= =?us-ascii?Q?1tpcf+3GeUwkeiBDjEDArKpKij2BM8Z/2WxN39HoURXOxBxcAJRwuNafzjCJ?= =?us-ascii?Q?TAvaBURt6FYNxSzY12QWiVIv29y8Tka7TNI3M1tDr/5FX64KeliZp44ERdfj?= =?us-ascii?Q?T/GwIWGT1HTFXWkR2UAxZ8+CtIOicttxeVNA1bj/DXzlgcXEjXQgiyqTVxfw?= =?us-ascii?Q?CdXf3Cy0Rn2OtgmvSwQ0wiR9KFe0xWh7VKXqNUT/ke7pR3JeQO9jeCNe5LlH?= =?us-ascii?Q?59TeBZFM6HxSeBDDcXE/Gld4DMlrHZQbjllHCM88qerc2hT1r5iw7KTek6Ov?= =?us-ascii?Q?N4HOWwAgXj3iHDuBZIUunn3+mhdJG692wR8C1XWfVaZPB18OgnJngF8tWFtu?= =?us-ascii?Q?Ep942n1tDNKJn9x0Tck1uMckTUmS6XtIOcrTrx2GRq7u/eMt0fqpMJ3/S0ym?= =?us-ascii?Q?FiyOQnm0VmpM9D0J7HhTJPfRg5WS53KYItSUPoGuxigq/rafCgBsDoEhXxEj?= =?us-ascii?Q?u49OExlZQPASUe9KDAsMmXpMDYvoeWkf47HziSESheQqam0jlSgEwVntcQP6?= =?us-ascii?Q?LDmZkh7YXl8g7e2nR7yU4JrqvYo0kozQee9b9zW5YMxbq/CJDpHfmTXMS1F0?= =?us-ascii?Q?3sKZ39Rg9rlycxp+GaZiqbH4JQ0y7ZPi31SzSDlJ/AyBfSDs4PcL18N3+59C?= =?us-ascii?Q?N8LFybGKBJI3O6deAhSiCD9SVI+8IMkTcSi4/nLRgZ99j6d4/jtevhYJ0edS?= =?us-ascii?Q?dVEJO27p/Xw=3D=3D?= X-Microsoft-Antispam-Message-Info: V6mzrhjTzWfqCgj0bajNWOH+C8EkR77qkPAnmrN1MmeLEFQvVPuJt7OZz2y49wYNs7uY7FYeeWJhya5BX3VZBrK+yLJO/TH0Dw9624HQX/iGZvAm55VAXdsksWeQyAiXVYc9CaK+c3QxysuFxthrqQxbzro80P8gQ9B1GaVmsfc60Pi+e7gxWi7IX3EVSZD/xyOQDCZkDGYxU96Dq68y87fOHISRja0RerFFuA1PCHzxzUORHaXHE5N2BJNgpPrIgzn13X0jTNKxoXbOgEHukTMPXpRPGrdiQBlX0+pmt/AhTy99IcRUsT6u0vz+sr87qR+dFcjCEUccqMysBa/2ggCVDAZ7diqezXeikOmM7/I= X-Microsoft-Exchange-Diagnostics: 1; DB3PR0502MB3977; 6:JJOzFIoSiMzm6dxN9AKdJWK7lT1gsVcEkIs9PT6/KwfB2k6+MBIOpuqUoBc6JTmUd3q1fzrg/ZDSECPg5NRoP+sw5xBa9zxnWtZ/K3a2ybe2Y23raunv9kaRh/tWyzF4UVp5UUYE3kIcR45CPGEJ3sPc28KffhYJQ2yi2e43LAHUMxKY2aviKo4a5Ff/UfejWLPDuK+j2mmvREOQTZI3PqG46sxTs5n1wOzZGoHNjAHjr1OAnUajBt/QoExwGFw+9p1gdqScIJd39HY7xw1WDr5Fong02Y3R0J3jHoE0y9KgrwdpZNpriW/UX58+8xDMpIA642sIi1m65F/M3ElcG/TJpONY0i63pr8xtjNmvtQKlkNITLTtGRoM2fw389nJuSCMfq/Zm8a/dv67mW541mtrlsEe3mXFg3jsdqFrrEsdE9ulo/pbE2ITe/60CG3H2mWTpsFv9d77Ar75OnCuxg==; 5:w5shTEX2mKSvPVoe1LLw0DnYTtR4s6XLTp2Cdol24iO3aJIzGpot8xlp7Z4F3cnCpchoW2GUMntZC+49Xbp1ffieyJD2M8DiPSoUV2a5Ot5D9GsdmBD0LyoWjZYKWwpUJqxbJBIUbOKw8nU23wlJUNBFTT6Y4Kji0ZVv06BWzHM=; 7:lSZEIK0Ry8x0u42jHx8oEIoytWBgEQ+y8eEZY9mzzMiODlKqH+dbIDSIAefZ0Q26iA9h7d9BRiM4tCmHEbTbb5jOVdHpy6C4p2BXe0EAFaOeG7Im0ZTpN95kGq0ZGTk90Gsokd1eFZSmsnPINzr3BfQarxkCmIhQvd/8WH+xOFIC2s9oitB1TgA+gdGKrgcYzGktl3RXk250dacV4OwjpanluJsJnspDAkf4WhuESy30g+J47nAGGb8kFrRud3Op SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2018 20:40:35.6960 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2f5262dc-52ef-4d76-c973-08d6015d0633 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB3977 Subject: [dpdk-stable] patch 'net/bnxt: fix lock release on NVM write failure' has been queued to LTS release 17.11.4 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: Mon, 13 Aug 2018 20:40:37 -0000 Hi, FYI, your patch has been queued to LTS release 17.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/15/18. So please shout if anyone has objections. Thanks. Yongseok --- >>From 063f7f0b46368f58da1a2d6e08dddfb999dfb393 Mon Sep 17 00:00:00 2001 From: Ajit Khaparde Date: Wed, 25 Jul 2018 18:15:46 -0700 Subject: [PATCH] net/bnxt: fix lock release on NVM write failure [ upstream commit 4623c0d4b572e9bea28d59e6e54ae6d5dab2412e ] In bnxt_hwrm_flash_nvram, before attempting to allocate a buffer we are grabbing the rte_spinlock. And if the allocation fails we are returning before releasing the spinlock. We avoid the situation by calling HWRM_PREP which grabs the lock after the buffer is allocated successfully. Fixes: 19e6af01bb36 ("net/bnxt: support get/set EEPROM") Signed-off-by: Ajit Khaparde Reviewed-by: Randy Schacher --- drivers/net/bnxt/bnxt_hwrm.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index ce66dc53e..fa8f1faca 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -3180,14 +3180,6 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type, rte_iova_t dma_handle; uint8_t *buf; - HWRM_PREP(req, NVM_WRITE); - - req.dir_type = rte_cpu_to_le_16(dir_type); - req.dir_ordinal = rte_cpu_to_le_16(dir_ordinal); - req.dir_ext = rte_cpu_to_le_16(dir_ext); - req.dir_attr = rte_cpu_to_le_16(dir_attr); - req.dir_data_length = rte_cpu_to_le_32(data_len); - buf = rte_malloc("nvm_write", data_len, 0); rte_mem_lock_page(buf); if (!buf) @@ -3200,6 +3192,14 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type, return -ENOMEM; } memcpy(buf, data, data_len); + + HWRM_PREP(req, NVM_WRITE); + + req.dir_type = rte_cpu_to_le_16(dir_type); + req.dir_ordinal = rte_cpu_to_le_16(dir_ordinal); + req.dir_ext = rte_cpu_to_le_16(dir_ext); + req.dir_attr = rte_cpu_to_le_16(dir_attr); + req.dir_data_length = rte_cpu_to_le_32(data_len); req.host_src_addr = rte_cpu_to_le_64(dma_handle); rc = bnxt_hwrm_send_message(bp, &req, sizeof(req)); -- 2.11.0