From patchwork Mon May 21 21:58:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 917888 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="1bw+GHRq"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40qXjf3Y2Wz9s16 for ; Tue, 22 May 2018 07:59:02 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754258AbeEUV7A (ORCPT ); Mon, 21 May 2018 17:59:00 -0400 Received: from mail-by2nam01on0063.outbound.protection.outlook.com ([104.47.34.63]:18368 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754479AbeEUV6v (ORCPT ); Mon, 21 May 2018 17:58:51 -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=1bw+GHRqQ80QgoeOJ66PGS4j9nmX1E+DREb6DHCNsqCWsac7QYjPtG1Dmzcl1bGxKQQpmgSt5EJyQJHw4s1EVfpNdw5B+V2QZBEFnP2TxHXdEST5NU1T66PwpiS0ZjPsm2Ataz9B7DwZcBt8Ony+gUgaeikPJ9bx7cBod50I4dA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Received: from tlendack-t1.amdoffice.net (165.204.77.1) by BY2PR12MB0163.namprd12.prod.outlook.com (2a01:111:e400:585a::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.776.11; Mon, 21 May 2018 21:58:48 +0000 From: Tom Lendacky Subject: [PATCH net-next 03/12] amd-xgbe: Remove use of comm_owned field To: netdev@vger.kernel.org Cc: David Miller Date: Mon, 21 May 2018 16:58:44 -0500 Message-ID: <20180521215844.8135.3739.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20180521215818.8135.83100.stgit@tlendack-t1.amdoffice.net> References: <20180521215818.8135.83100.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: SN4PR0201CA0034.namprd02.prod.outlook.com (2603:10b6:803:2e::20) To BY2PR12MB0163.namprd12.prod.outlook.com (2a01:111:e400:585a::24) 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:BY2PR12MB0163; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0163; 3:SSIIuTuoviPfBmL/dO7oE7HXApxlPsOj0K2fs8kXaPAN8iI/f+YUtBD8QRiWThuq6PiIWpomk9doXEBdOCLd+kJxde2nNNSvEPbYo+5hqgvlStIc3/9ZsDqHCy26SwHng9Q63PGv1jdcTr+mAaWSWcL0z9X+h9yyZduAwT3Ifxi+lE7lV63cIHUGHq81amKB712HK7tmQSOFrktKP+b5H5Z9zt+fy2b0FaLdyy11rekJvDZzfvEdskpZ4oHmncjR; 25:H7D1ivYF7X4iIv1Vsa6fh3A3/KcMRxZwbWg6pTpHm261CVjmJiWEqAM2w0G1vKq2dxdWcW5FkI1BgCo4KQrwgyBAbv3FbGbOGk23boSuodGhEY/q0vlTbc9P3nO+gR9jaEYQzOkt5Q7/YFpBna0T02KZh7lOcYecUUJ+tbb6WWHqWPS3miQy17t6XRymvcY8I7qJOdmiitKNlJf/vH+Cu67sZJuAdyGBGGvQYCnBoI6qron/RFbtGqoZ3MDrdI4hZpBpOBN1ljoVpgJ4ey+Smh1jrweEMOC0PsSJq1oCGLEnR8rlMGcJ0VlDm2dvcLdRutBDDymffK2jQ7JjTTipMQ==; 31:dviuJkvMCgfSEb6CFG3q+EJ8fnRNB2PH7B/Wzhq7s4aw9gQvNxnFR9X8nstOrcg0Pt6kOe8QzmgDXfdFhpptQF657WRVSgdaBlw9hh45POH0ily8nEno4X6G7m/iavCLEIAGMJFKK1eE149sEOXGj7mL216Gj1Q9DbXoiONVcOtBfJIT9PzofT3Vcxqfyw2LX3yKcL3sG5uV280QhTDPkH/FZL1xiPFW+xWkvOSba7k= X-MS-TrafficTypeDiagnostic: BY2PR12MB0163: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0163; 20:sg+a7Fa9tAbUkRnm0jfgpCE9s5kqj6PGAhRHDVJx3uUGayFVG98n8tvYWmOWFyBi4uP2smmK9glPkFC2rrytaak8vgnKMYovG0ISM5nLPh3rxkAhtoufR364HzjU9fTbwSWol//R4YmCAN8281m9ipQfhdYdl1oFpvA6VJLJYlfG20mXsfo/rRyWVq0V/jFOdXtsI4OF9NmVeaFrXoL+URPXS6XolfKje0WX23CceZx16233/WT4KhH8zpcOmmpwGzZWjwmflM0dsiz7u25pT+s0SmTBomiSkw4hs89AgS/PBQUYSvnM3r2NHTua3H+Lk1MQGSbYN3avwcYhTfP21OLuPhQZGde1hm51Fxz/EL6x/pBwW1eYthwGmZNRbFOMjpuSVorsz9WFQnJOWab2+LN7zmi/ApZOsPX9dMP/6/MSwk2fmECTEytgi2qq03jVXGt+88Rj6GOya3Hc2qb/X5iqZR7M0xew1WYPN0nLccVYjTWXDtU8rNk5PPNk4KxK; 4:3mI02NS+zWtgVDfETcemO+kBOzI5oNHOztBVmkoToPeRLjBpJ8Uaxnljq7fNMo77aWtWQgyndEpnW+Jup7AEAPHx6QaMLdjMKBAVlvrfd2Xldr8skXSxb5UqWQ1GFTBDXWpfXZT+Wdlxv6g90hYdiWgbjiV9evn+056ex3C5Z5LtVKmljEfgvJ9zad5PTzu1/mBiFpuoM/qgzh+kUJQg7v3Au7aAJFPg54rhLoiD8lEmEhzt4FnVCXDtH7xfzbt65xIVJxJtDhYc3mzUKdNhYH0P0EJvkMCQaEiy3bWhMJRMAfdqpUxkZg8FbB+MF6iwWlNYYqQJDQdva5A+xnGMzg== 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)(8121501046)(5005006)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:BY2PR12MB0163; BCL:0; PCL:0; RULEID:; SRVR:BY2PR12MB0163; X-Forefront-PRVS: 06793E740F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(39860400002)(376002)(366004)(396003)(39380400002)(199004)(189003)(5660300001)(68736007)(55016002)(305945005)(4326008)(69596002)(16526019)(386003)(2906002)(81166006)(59450400001)(86362001)(23676004)(25786009)(81156014)(478600001)(6916009)(8676002)(9686003)(6666003)(8936002)(53936002)(97746001)(2486003)(230700001)(6116002)(1076002)(52116002)(7696005)(3846002)(7736002)(316002)(105586002)(486006)(476003)(76176011)(11346002)(97736004)(66066001)(53416004)(47776003)(2351001)(58126008)(26005)(106356001)(446003)(50466002)(103116003)(186003)(2361001)(6506007)(956004)(72206003); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR12MB0163; H:tlendack-t1.amdoffice.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BBY2PR12MB0163=3B23=3AkpiY?= =?utf-8?q?HTO47LcHw30QupcCvPXhJRxDGNHygr3+yrx4RNByYGH2SxXI7SZMSrTn?= =?utf-8?q?hLywy1RdaJGZOHPytxrXdaFgizvpe0hXyhlei9o93RrIPdmHOREIu75E?= =?utf-8?q?WPahypZioNkHd4fJVQ5jmleBWRfpPax5ethPPd8+OUTZ3XkeGQ6Y5XQg?= =?utf-8?q?hmh0a3KEU0gK3dAuIsfYoxjoJNYT83wSzaCrhYHLe7jHqrIv+/Tb94pw?= =?utf-8?q?20Xay+s1j3vKOkVlSFKNNJiHaQ4iP8bJxOtZBWA5jstCOrS07ptnFq16?= =?utf-8?q?sjzxcBArvyIgX/4DKkfdmk2wFIQvPwx09b8NlAaoRLgleotyXELBCMTJ?= =?utf-8?q?HvBZj1JlVEhJpsMuZhKcXd9u6w56+HnSKsFtRI1kT4/uAMiInr7rtrPr?= =?utf-8?q?sAYKw4mOx3+3Rqp7xBz8u2QrSnlSWM5E1LzvBuiIO/UYRI4CskOP/DNG?= =?utf-8?q?91LT0ef0Yor55xeTVj1CRlO/4NkgvGjbMye8NH20TjYzgsznLvmS+yDY?= =?utf-8?q?DegWCS8bn0h3g/GsywSSUR+o6vPEBBREHEoj6ZE3fmpdTOMlXmGbTIao?= =?utf-8?q?ZMV86a5wB7TIIjkzOf8nnuS5vEUdq7pq8oZK8LNQsY9Suoxngm/Z9fkm?= =?utf-8?q?9FeNtV4XAOt530lOreCPnlFsTTf4T/PdJm6gfkPbrQTrPmQc3ZCR4gdP?= =?utf-8?q?yFT2BigBjn6xUUxlSGp+WAd8IAPsNv8tZzJkpDJ0cbdHThBsNwovE37R?= =?utf-8?q?urB1yjKt7BRfYmQS28J7VIDPxiA74Gjd6paKRXQAXjYbVIvpQyWiAz6S?= =?utf-8?q?MDqbN1Rcn0FGGDo1q/lXyy+qEMIUanl9S3V8gjam+/xBsRlJN40UCn3x?= =?utf-8?q?5EIyP2XFMBRKaWS2JfJqYPC58vb7m99+yxXFZ5aNxDXxX83ksmdhOgcq?= =?utf-8?q?/Onk5w5ul5x3Rnh6XyvRnG6owAe0Q+CXi6wQn4EMnyasUbj0zEczEMVz?= =?utf-8?q?MLp5xgAYpYSYUZ0IxKbqsjwWLwE6OCg0+Ry7bL/XH+4tMrseE+rMEij7?= =?utf-8?q?y2sy/VI0485/JHQXfc7qkiaGgY+lHum93Qo42eBWhhLCJazTX8lf9dG9?= =?utf-8?q?Yr+8HYi7W0/F9Q9XSH+D69o75oZhPkDn9gaQHzioUBNzDjg+wiC+nRAq?= =?utf-8?q?RvY1KGQtke1Oq8iFqO8Iozzz8qW0HtbWeTBP4ITjYLMVSo3qBVT0Icgd?= =?utf-8?q?I5mwuycefCvm6dHpxd5hMoGw34MzGN5LcmT1hz1HkNFGx9M8GF7q4CR0?= =?utf-8?q?cVFNhRota5r+2ygOoNEjdBk9OUbB4VIdYQfHNJj4tAIlji6ptMX8i9Sn?= =?utf-8?q?sH7AM93Bc1svpR0dhaGbJusZHhw8dzQ9XI1VnmEe0Kt64Lx/lpOlv/v6?= =?utf-8?q?O8jK91njWakyGgT9Zw=3D=3D?= X-Microsoft-Antispam-Message-Info: 7RlMQVB4IRCQz8IMuh3Up+j+J2H87LBavNalP23z5C/2e9gVG74vc+zB7bKNWL+T5kz/vdtz2Ow3HxEEgZH3vwslF9/txCJ3UXz4kSXY2a49dUyEytbb9FRfgSeuROOwomhbS10ZamoQaNlGwvrfHDnLi58kNCzjsxBaboBA2xqlAh3KOXC99P83sKRPuTj8 X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0163; 6:C6cfqwirV4ifo/gq9Icilbdwag8+6PzfwXxle6xsDfbrt7re+GsJ8JREDdmLrZw4kBudmvzj74zt0/X0tSlw9hjfQl/1Ey0z2Eaq+aLd8cSpdOdHrsN/DLGCEzB6OcWSAbCkt7elNkpbBQ/dQ19svwbiuacLPap+StV1seGpmwJiEaYgGMrgZnx3m8pZjQFSypfEMGr5rbbYg/Bsq8Bd545C2DgVXacrSfAnnP/lDVyFmnK+1omIgqTsMLnc13E4BG59lS+AWXiQCkFdsukuK6gqsPvzD8/dtQJNuvL6uZUhi87CiwRyffJMYy5QQQAKXgvBDAGGdAatrSr+++K/YK8Obp0CA3cXb7w8ilUkByPdQLsw52pToSIGF0pbOyXCZOKuobxH9G7xB0Ne0NeCl/SzBKYwQtZrWUOvMQifWrIGGGBxxlRqXJJSgA3FQLvVJjHVUOcJ5yCeD5+Qhgj+Mw==; 5:Ue6VYo/d/UrDsoiarVlcrUmYx+aDKN2235vLC/Ba6QkUux0h77kFIt/nZVq8r8nkGCruOZbB5YSBvkA46vdP7/tawq3Mr8g019SbxkwM53CPE8cJEh+GraG0Y32mK5TKa+HkW5Kqbthtodp7DtJCs1yzyjXNi164Wf1U0bhtZvo=; 24:IczXHL8K4OhYkZGTfIuI1Oz2uxzA9JhXUFyMZecfhU4t99c4fJLYf891ghMSNyD/it6+c0GhV3jFnENdnJaiGgm8ulMANbyqCjLR2ULpy5E= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0163; 7:DkE6eEWTkXzVuy4FVS4WLFIyfHvKkXbVg0xhd5Ipcqe1n3vaygor9RVjTd6TBdSq2mCtxyc4k1MKqbx/VSEV8ozolhTCMiGFPZj5xwDQootzL6/gjgCmtARYyBrzvYV10CQNe2+E1lZxpAHHCNBR6v66Yyme016S+Rm3dbMKrWkEeDDggjRGvmD54ukNirrkHINJhTKJRBY6QCu2C8u/J297lHICj4b+FonfEbEhVYrj6W+0ivBcPGQh6Jdob73/; 20:ED76+swt3uPBm70UqB7qPSbiBwDb8FLcPL6JDPTL7tu7AIEgWwSF6p79FnotJtvxMZjAnkxMOJDBCRGlMZW0sq4M6wp8khjs1bSwc+8baDwM5fVzmoBBHoVviNSXuhkbccgsTPEbaxxXBaLWA6euXWUG4M/WuDn8LCOpitcw5UE3vh2xcrvQPBEt1kAUEZ7H5ZA6lVif9Bmgzwqrv1Zd/iKpbrLsC+hm4l5NVQXjAkZwrl2d/uaJyn0yMxCbb5HQ X-MS-Office365-Filtering-Correlation-Id: 1f2b9ba7-63ec-493e-4093-08d5bf660813 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 May 2018 21:58:48.2873 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1f2b9ba7-63ec-493e-4093-08d5bf660813 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0163 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; }