From patchwork Wed May 23 16:38:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 919181 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="TYQzWVG0"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40rdWW0gbGz9s0q for ; Thu, 24 May 2018 02:39:03 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933681AbeEWQi7 (ORCPT ); Wed, 23 May 2018 12:38:59 -0400 Received: from mail-bn3nam01on0079.outbound.protection.outlook.com ([104.47.33.79]:18896 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933609AbeEWQif (ORCPT ); Wed, 23 May 2018 12:38:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lxnS8h0PBMq4th/JCZsF2CQLlG6AGMTZPigFnNUg/gg=; b=TYQzWVG0x9uAPjICkWqnJetl8p4LorKSHD/bAiUJztoonm1qTBHkt7B3/+VICwYJV4kb7ODSjdmE5m0+DwyOUt26gBhdYUzCXwtjxdOw3CSTv1wjpkiMIFky83fj6lYFo8WvZpTSa60NrsnMGuXX5UyNh0j1Sixhs4C9oWuARLY= Received: from tlendack-t1.amdoffice.net (165.204.77.1) by DM2PR12MB0170.namprd12.prod.outlook.com (2a01:111:e400:50ce::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.776.16; Wed, 23 May 2018 16:38:32 +0000 From: Tom Lendacky Subject: [PATCH net-next v2 03/12] amd-xgbe: Remove use of comm_owned field To: netdev@vger.kernel.org Cc: David Miller Date: Wed, 23 May 2018 11:38:29 -0500 Message-ID: <20180523163829.31625.95403.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20180523163802.31625.76572.stgit@tlendack-t1.amdoffice.net> References: <20180523163802.31625.76572.stgit@tlendack-t1.amdoffice.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: SN4PR0501CA0152.namprd05.prod.outlook.com (2603:10b6:803:2c::30) To DM2PR12MB0170.namprd12.prod.outlook.com (2a01:111:e400:50ce::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DM2PR12MB0170; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0170; 3:pgXUw3XrchqQY1+rQ0viWvsIL4WMs59DsZbR9czseR9Ll46S2UmZKUjZSBG+FLnQpsC8jRDOrZpFWQXxkPqsA1zDi4XJDfnIs/eSjg3hW9t0Hwb8gB05xd105gCxNQLArikrhFfGHHZ9HisPNttkf+Yxmyv8qBSBZnGSaf8NXwnyIf+a8DSpJcAQojYvkiXVck2EF1L1Q9F18v1anf6DQ9MdmX5JKLBW5s+777PRwIZLwMhSAR9k5TSF4oAwztSA; 25:e1acK2EZQGOtvQl36Aqy/VECsE5PjQuvWqX4R9ynWAj7yajstRbNvAzF7TYaYIbhalIhSYEXIvtEbbx/e4IzHR+PM1AXlgZPFXVyBM86pM0TUQLTAqvEH5/kuC8y0Phuu9QPeXsGbuz/DXvWf8kv1SVePGiSCZi1MTVtHtNGtChjNGd+UwNYOX51b5+yR4bSk8Vh8NyXx8/PHn8zHg6kESJwlw7djjqst3sIZy1nNM1qmuGjoT8WPn4AQCL7oTpBgAOHiOzQi4p5/+Nz/l8taV6auYq1g6Pf/0/GGx3mrQpLVP+si7eV+dKfjBtsWGuTxGP22GJ3pL7GWatfSbKhgw==; 31:NQ6iU+BI/nSsvTPWmmy/WvHRwm1704MiBbBWRSsaGhZi44qF+l8rUDLfNGLzEnorDMDKL5QhXcsuI7aJYVbETsWe7tM2I0DgHBMnhD37KcqIJ2BLjHmVf0Fy2BvEoOlBntFNdr8buIIdxcksslGEYSUzIB6Uu6QLqCUA+4v1XUsX6XfS8uV0cDWQ59UovIuMxe/tOJmNt59cVru0K/vsgBWa1kBwZvlylrrZbfFe+PE= X-MS-TrafficTypeDiagnostic: DM2PR12MB0170: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0170; 20:mnFjis4ko1rJoirlp6i9FsfhWQxUFrpaOKvd8SkgxfslQfjuHczTy3/FUg78SKYvk6y+KjWQ4WTH6Zp6hBMy4sY45k1Kmbk4Hx3yuFOHwjScZF2ABLWxj1yQg0w4msDFgTYBNyk4OeTXWRCDQZlWruNVjbE5X2opibbplFRdk+G8cIdFSARxKNG1fK5zzw04vUV+CTMTofeqfUXAs40sSKUA/Jonrl3Y7VKQrWH4nEbi7Tb8Np1xCdqI4bGN6sc1gVT+PPJj0JPgaOZic3eN6KPxPDZaFqkMzCJwZIiXG9gbYdFg49sSykJPRmIKdalxXPEoICtXGuplzeuRSX2pULrrUesmHLOn9h7E3ayWnkgaF9+BXu6Wq1mQpRh8pRHTZ4kfqBp90vu0ONUCfEjtJ/Z329wQDW5iFFG3UWVh0xEkAxpCnUR/eN7eNP6BgLZPcV+5pYXQOY86gcoQmlgUvvVRMpBjCw7ArV4Hb/ULTntqFAC7rNxtBtCiVI+7gxEE; 4:QEu82a81uSMtmXYJOfLdis8m2YGBCKvBdHILgNWj/mKqcDT731xCAMSkdJ3qTCcRetSd+Qu/ouyLRMYfJj/phXFvXgUsH2qVf2WnDPlpiQwsqfBVqs7Au1Wh1quUpjXNKs5tEruJrDN+Vuc3H7Zbq9hfRDN3vjRGtYfwiAZui6HDLOOdh9o12NUp9h18TTofzxzODiDxT/g0bSByBZmCWWRhNlvcGIEL9ddw2VcUy4eE1ZCj2KL7X2RGnbHgbtHIY/gw5/x/oRXYB0euHAm79qJ7Z4QbQziksvY9bM1wqBg7xE5A87jmMYRfOkirZe0DQhmHiVEQl85slCb+ZuEb9a3DT40DaAH/zYaM4JGieHw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(60795455431006)(767451399110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DM2PR12MB0170; BCL:0; PCL:0; RULEID:; SRVR:DM2PR12MB0170; X-Forefront-PRVS: 06818431B9 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(346002)(366004)(396003)(39860400002)(39380400002)(189003)(199004)(58126008)(6666003)(69596002)(97746001)(105586002)(106356001)(103116003)(9686003)(230700001)(3846002)(478600001)(7736002)(446003)(6116002)(86362001)(53936002)(8936002)(25786009)(68736007)(305945005)(11346002)(316002)(72206003)(23676004)(16526019)(55016002)(26005)(53416004)(52116002)(47776003)(8676002)(81166006)(186003)(5660300001)(2486003)(7696005)(66066001)(956004)(81156014)(2361001)(1076002)(476003)(4326008)(486006)(2351001)(6916009)(59450400001)(97736004)(50466002)(386003)(6506007)(2906002)(76176011); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR12MB0170; H:tlendack-t1.amdoffice.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BDM2PR12MB0170=3B23=3AToDh?= =?utf-8?q?9eHjoaUZhXDMZPo/Q7X7UqypQeqfeORxWKgcug4WJF0ZL9iDZMqEUfAo?= =?utf-8?q?E4DZ/XjdmHAet85nqG652UwimS8mpgDPcrlVqrhl8HTXy0+1JifGzM1O?= =?utf-8?q?/wmT00Gua6xT9u/dntTFMgnwYioKsMq8+H7a7W4vj05bpFAJ8UC3wZq+?= =?utf-8?q?W52Zs6bFOjfuA/wgQTzI9jq09xZsydenY+5z2YH2RLzuETOOkclOgVwY?= =?utf-8?q?NZ6y7UH+4jKRCcgdQEfpfpjINymge9AL23FjvrXJiViPDq9vtqvznRXS?= =?utf-8?q?1WQ20yJd5ydsntprBhh5oi6D6ZokRcGXwFOYR8oWcDhRjCLbxnGlB9R/?= =?utf-8?q?sB3RBhVSwVPfI47yi0bk0wrxS1GcFSY2yLaqgett2D4m22M21BYbUIAG?= =?utf-8?q?ekk7iZpCKm3Op5g4QaDzPu7qxsfX7B1/xmS2opvUQejEMyrRMlWKgerf?= =?utf-8?q?XQ+x9tNsv9QvLIQr1xAUFABick5Kofc+fVi26l6uHZ9H+UKcAQfyQ/iJ?= =?utf-8?q?MxMFvYJ3yZ8gjPRZEK92BaB+Izf9LOuqH/xSOYipxD1VDiE39cXxKmWj?= =?utf-8?q?naEFjHdRO7w7YFBR4XQw5EXx2je1aXxK4fg+T+2uVexRiYWgW4n62l8Z?= =?utf-8?q?1fZrGuJ+sN5tyc9dKbAkbjj7xCt1wZmAy4nSEj5qV0wC1Of48isXxt8U?= =?utf-8?q?KHtlOUgf6dJuzKjjcbZIumjQwzkBI85A+lSwBCTm8lvAPkA3+dyX/pDL?= =?utf-8?q?J97xZO35DGNm1vkEFm9w8SgFXpSsQWdfIxoa8Wt3yUbnfw83IVfqS+Mj?= =?utf-8?q?1afjJuEKXs8kBbYW3gFwoYfNqWgflG+NmN/gz6jEX9feeQqLJXXPlOuU?= =?utf-8?q?c4kLLcguoRwY1QMfwxJEEcTenKrKWeeUruucleUWxzwd2LEmcyFwZ7xj?= =?utf-8?q?DhIuQx61iT9miMYy15wKHij0UMnNxBDwYCHtsYT2hX4fZGZnt6SepbCE?= =?utf-8?q?xEdLLSThApeaMH9RJtdQmNJi/u+2WvuBHwqcHk2vHvAtoSFfR7VOXn6Z?= =?utf-8?q?1dg/HQU98Ou18b7hf+ZYX+Dp70oYYOnjS9Y61q3bj28hU6dFsv4YvzQe?= =?utf-8?q?DGiLskUVV3kp3PfM8H1RxJNLAF5VAc6YYxiVUcSDc6cp5CiR3h9W3xKQ?= =?utf-8?q?mMijO3efwuv9k8MJUqOg214IflRVzEF29foRpMmivRxKbkjA1vG/5lc8?= =?utf-8?q?q1lNQS7lGmbuLNNrMdBDaDeu4nHnDskRbvTlrKoYNBbf8MG5tKL5dtLI?= =?utf-8?q?2CXZZpObP+FqAC8khq/N4TUF5yokqdWDpqdRaGPReeu3E4s89T9Ab5qk?= =?utf-8?q?XkD4+Wl7qkFDO/HfvqtQXsVynFONlHbt9ZqCakPXz2NdN47PBVfmyVWt?= =?utf-8?q?AI5KgVDW6wMsIv0tnA=3D=3D?= X-Microsoft-Antispam-Message-Info: 27hmcVRIQCqdNKHWepLeK2UZlWzGZxp1hzGAUb0/5QAER5R4sYtRx3TxxSt0hLfaC9jL+2HBHlPGmDBYf4HyxrUECdbDKDuA31h3PYiOJTRZjB3pKhSdpAGJWri9siTpaSre++VYuQeAmJd0QVo+b/hBNTiH5j8fYPe31IfDtDIbBCyXsj+8Pqr7rkjg7+25 X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0170; 6:0UMxiZDW5/twWeVsMRBu9JA9pSlwZP0ccvaVSodZI9HdA0fYR/WnZiJl5k7L18vQWWMuHA0nzejJIhndo60BfbQKNXbZxZLIJeO1KnGD7ZE5PrxPwwdovC37uoZ+ENYyJII5J29F49BYhWybV99Fd2FfStti4L3EdG1F+sn8VM+GgY4KT9x4FXjjpZNsiXhl0fV9QzjuhrbEewHdeQLHhSOlJk6530bE1G4xWdVnZd0gkN72NPs06CmdUYSxrA97wmRf3HDveQZUE05ZkiZddJW5AahF02N3t1NwvGzs8RrELtU3YpVJMEl6Ld8316ol5pQZCKbrRPUEmfMhCC/4VVAxAJ3bWS/DXz/jD127uCtc1n60QHrfHe2MTmOpINRgAvAQv78qc7SmcBOzN3b4YtWl5x/psT52n+rWsj/cBEVFfC8c5lOfi0OgqFRRAPO318gAzM3Cbhocbd/ZL5LpOg==; 5:xt2PsLUMRlt6LE8Rwo0dsIvh2IWgsO96toUmp+UKW0RT/VMIF7Hzj3wgvTDEdBG9In5+Qa5lLeqLABxzgYM4aZF7D6jeOREs9FQIXZJPlvlINqxp4wfdO7ynGaoGynrhUmKKbnjPQPmSc/rDtE3vmRj7X7QY6GeuE5bPMZgGX0s=; 24:diLV68Kl6TpdDXWWw7ZfEtpSX+0OxIX5TjjIqxFidprG/gEBC78DKoW6BseT7JJ7+zlUOibEUE5j4odywCKYHWbLXfTAGwCGFAZdqke1cRo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0170; 7:UO4Z0YDQD/P4B0BhrGj/NRMpXFcNa5YprX4Q8m0c+tliemyj0BhXdFAoChX0tJ2Jlan3zZIVjbtItCHMarqBE5UvXlbZfNT+opy/q78c3gSvQ9eAtWrcWyHG5gFZ81g6aTaZ0/YG1NHn1PKAKKlKqgIpA5nhtla0PKG0Vek3hBi+gPQfy5QvVfRjfIujbbZ66qNa4LSpgDUgbQrkWyHTn/Dos56BsC6YZNy5I0Jz0PsFCAwMvlDa8psI4JhD/k2B; 20:d2SlfEke054XxzVDyats/JneJU/y0uX7s5q4j026f2wS5AmCpdAN2GoViIPC+IfVtsApF4ZwN/8nhxrvuWSEicNF5V87DpLdrzs0cwciL5pBt8Akh85OfuYuvM3N/eRr6LVz7/1HRAAbeMDLwwkc09DkN/V1JWYxML6elSkQqW/7c5PQm968f4lYzIh+wredSsCKTfqb+hMxqGHpsP12jQifFjW13v1tHcux3VaJswE+PnELBk9muecgdodzys4C X-MS-Office365-Filtering-Correlation-Id: 89fa12e4-ff02-4910-1db2-08d5c0cb9f91 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 May 2018 16:38:32.8431 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 89fa12e4-ff02-4910-1db2-08d5c0cb9f91 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0170 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The comm_owned field can hide logic where double locking is attempted and prevent multiple threads for the same device from accessing the mutex properly. Remove the comm_owned field and use the mutex API exclusively for gaining ownership. The current driver has been audited and is obtaining communications ownership properly. Signed-off-by: Tom Lendacky --- drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c index 123ceb0..05003be 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c @@ -327,8 +327,6 @@ struct xgbe_phy_data { unsigned int mdio_addr; - unsigned int comm_owned; - /* SFP Support */ enum xgbe_sfp_comm sfp_comm; unsigned int sfp_mux_address; @@ -382,12 +380,6 @@ struct xgbe_phy_data { static int xgbe_phy_i2c_xfer(struct xgbe_prv_data *pdata, struct xgbe_i2c_op *i2c_op) { - struct xgbe_phy_data *phy_data = pdata->phy_data; - - /* Be sure we own the bus */ - if (WARN_ON(!phy_data->comm_owned)) - return -EIO; - return pdata->i2c_if.i2c_xfer(pdata, i2c_op); } @@ -549,10 +541,6 @@ static int xgbe_phy_sfp_get_mux(struct xgbe_prv_data *pdata) static void xgbe_phy_put_comm_ownership(struct xgbe_prv_data *pdata) { - struct xgbe_phy_data *phy_data = pdata->phy_data; - - phy_data->comm_owned = 0; - mutex_unlock(&xgbe_phy_comm_lock); } @@ -562,9 +550,6 @@ static int xgbe_phy_get_comm_ownership(struct xgbe_prv_data *pdata) unsigned long timeout; unsigned int mutex_id; - if (phy_data->comm_owned) - return 0; - /* The I2C and MDIO/GPIO bus is multiplexed between multiple devices, * the driver needs to take the software mutex and then the hardware * mutexes before being able to use the busses. @@ -593,7 +578,6 @@ static int xgbe_phy_get_comm_ownership(struct xgbe_prv_data *pdata) XP_IOWRITE(pdata, XP_I2C_MUTEX, mutex_id); XP_IOWRITE(pdata, XP_MDIO_MUTEX, mutex_id); - phy_data->comm_owned = 1; return 0; }