From patchwork Thu Nov 10 23:09:29 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 693495 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3tFJfN6G7Wz9t1b for ; Fri, 11 Nov 2016 10:09:48 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="qMkEaCB3"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935717AbcKJXJp (ORCPT ); Thu, 10 Nov 2016 18:09:45 -0500 Received: from mail-by2nam03on0083.outbound.protection.outlook.com ([104.47.42.83]:62972 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933993AbcKJXJm (ORCPT ); Thu, 10 Nov 2016 18:09:42 -0500 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; bh=fniEFhly/tFrrRQdeAcJz65Y94qDyRp8FpclHePCeHA=; b=qMkEaCB35tZ2kYERDKZO8uWgvKflZYF41a43JvNwOfOtXpgJUKlRZXTmz+vW6GQ636kA8awm/g8i80HEzCRs6tQolUaB5B63r5x2PKcLHbq+O1B7D0oMNAwuHMbwyNoW3HyfF7yyzPu0KYtXcWzrCYCMcKmVrNQVF1P7izxnK/8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Received: from tlendack-t1.amdoffice.net (165.204.77.1) by MWHPR12MB1150.namprd12.prod.outlook.com (10.169.204.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.707.6; Thu, 10 Nov 2016 23:09:39 +0000 From: Tom Lendacky Subject: [PATCH net-next v1 01/11] amd-xgbe: Guard against incorrectly generated interrupts To: CC: Florian Fainelli , David Miller Date: Thu, 10 Nov 2016 17:09:29 -0600 Message-ID: <20161110230929.20704.29819.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20161110230916.20704.34081.stgit@tlendack-t1.amdoffice.net> References: <20161110230916.20704.34081.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: CY4PR19CA0043.namprd19.prod.outlook.com (10.172.173.157) To MWHPR12MB1150.namprd12.prod.outlook.com (10.169.204.14) X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1150; 2:v2xS0Fmra9JPk6lh4YW62aOlQ1papXY8fMiGwBKcPB31UfJ6W4Hr/f79WOrZcHIQy3kgxpgDaQFB+Z9jB8I4StQ8eW3IFAEOucS0CQZkXw81xbEYxaFXaZJnTsoPNrfMHHli+polU3XEuVp25iBRjnGmpVUE4rrUjXm0ndIHWRE=; 3:rfB3K7ah8w8AkB0iZMmBbD4Ei751wzqfPzvhtaAyszpDPPe9tPkmHamE3v5dCnO8D3FQZ7E7HQ3ZzYg0zjBN3QgX89VsBbMIP4G+oZiTy+wE6oJHiaQPaX4F5wE+4kZm1A9c/sXQbjnF6VDwSftdaYMyU3SMC0KBpMR+ZyOq8o4=; 25:qI68Zx6ZY4Vv+AjbMhg5PV2QyNfEBezHf5ZPj/o+oqFcipaZlBkHu2ZBX1QV0TmoDfwVjCLQqOK9djkDNnUhh/r9fozeRIh4CrrwM0Yfm0mSBLnBYb3MfEG2hyDuq7za06AyX2XzD2ZgO61RBDGz4+6oY+4jpjIFTMIIUn2fUgQkUKTdP63htJWvTJCwSg491OHLUMvmfEEHtW7wbaG4tZI5PN7itycsYUZylDK4VsR+JiwAItf4dbwD0B5HgTOU4iPa08rZP0uSRyU4U+na2npMNdGpDTxeVRKPwTcJIRrhlp3g7yHwzQ0PmRr0NOaQ/i7I36AMNP+uNtwPpHlBIvLumBlh9A+Q/kHut9zCJnsRo2IvOU2iLh4tjhr7rI+jiCo7RdUMshXYKNzfH/oPi2sse4jQ3GRSdMZaUz7xJnU= X-MS-Office365-Filtering-Correlation-Id: 33162a4d-b4a3-4d42-30ca-08d409bea5c2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:MWHPR12MB1150; X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1150; 31:JNQ/mczmyAOJjV9SzEHv+djHZZFK3SPQcBzfRro5XpaXs4Pb9EwW3FbgKQBr5ikRDwkgh+3jtpld7oxSjejFi6T+0Aary/m3LmehUClQT2H6sesfQfunuhagMTun4PEQ8hsmoje3hudUb+eCfYNf4yo+281YEP/NERbMj66qCt/TiRYptujZQeI2ev4ZOg8piuRpor++anT/Bb6HthhUi98oGdLGt1gXiYH2C6oUt43K/g2TdipLT1gq4to87nwk; 20:NO7aG5joFiX6wVi4rYctDfu86sQ+/KTZfpQcd4jMI7hM2CSg9Evnx9YHlG8TWJ2RkNxMJLxYX50rPRCiNBs4aQnJYmxPVhKe/85b/eYzCzlxVHGKlz1PRDypr0RBOiScOpdGvhMkq1sP5DFkkYd51n3Po8ioNqc8CVKoBO3xzAm+vkAFHtI6BoHVTGK1UE0YX41AVjEacuu/onpPax4GK59G7ciYeZPlhjYoYyBRsYV4HNw4rUoBsS44iwLAP+dNwOuCMDk7QP+378Jx2XtJ0q+DjgU0k+trgTFhiTibqu7TP4n17e/83uzg9HWZqVJFTQZ8FH0CVrYhr6YMT7Q0AlWXbiDEzMWreWxx4No7x2s75lXSLRcdp7sfhKYFjqHNbd6jIBejndpNvfWC9ZWb9UUaBaSDIpggf62bRsZ2YFrb2ixrM8v+evNI60mGo4A7y+y2q23dVws7Sk/BeQ9LPtm+Yahmvb0EK4r/7rJiGqFuHivZz47BxpfM+b8MbwKr X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026); SRVR:MWHPR12MB1150; BCL:0; PCL:0; RULEID:; SRVR:MWHPR12MB1150; X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1150; 4:8EZ/X/CsYAEoBhHL6NOt/sDbHk01+kpbYfHgK7O2YkTNmAzbZMo8vdbVnMBrmJAK+n646/fvVB+JQuX88Gr5hDKAUS1KjMwxkq69XwXjwD7gKHGKlbIsDJhnQQBr3khk2fhHmQmjL51I0bzSd3zTufM7mG/i31UqgYWTtUzyv+YFLOsPh3VjMxoPjZ75hFwCtLAWPI6ZcIC29TAKw3faOhRii8/bwr0tgqLGJMzRcC71l7H2EPN7z7e83gBV6vrAsRaNkR/d6rTAnzldhDKZVjR/8OnjqG1u6Hm3jCVK+vX9hibE0+B/4YfRzKQBsrw9Hkjnlzw179Q01SJAgyhePKdeRsSosdbnDB8s/dsNSpdOQy/IpxOWurtbcvQiPpWNe4ViPfK0NfKAi7HUeDxKPc6XKJGFMgB1903AnRbBS1XCpp6J0p7WTff8D5FBvdLBFRAC2yCbfsnHS3oXhWvhsA== X-Forefront-PRVS: 01221E3973 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(199003)(586003)(47776003)(6666003)(54356999)(6916009)(2950100002)(50986999)(66066001)(97746001)(69596002)(6116002)(81156014)(4326007)(8676002)(2906002)(3846002)(23676002)(97736004)(33646002)(76176999)(81166006)(4001350100001)(230700001)(189998001)(1076002)(101416001)(77096005)(110136003)(92566002)(5660300001)(305945005)(103116003)(2351001)(68736007)(86362001)(106356001)(105586002)(53416004)(7736002)(7846002)(50466002)(42186005)(83506001)(9686002)(71626007); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR12MB1150; H:tlendack-t1.amdoffice.net; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTUwOzIzOmdpcEVDcWxPZWFQU2k4cHR0Myt0T0lUcXNY?= =?utf-8?B?Nkh5VjcwZVJNQS9IZVNaTzg1OFI2T1dUWTVZVTl0b3Bzd0FBYzBERnFLZzRF?= =?utf-8?B?M2xjMXo1V2RLSFNwZGEzRnZDQTZNSDFBYm16Y0hxUWZDeGFRdHJVanR2UFh4?= =?utf-8?B?aEZ6WjN6Ylkyc1UrNEQ3VnY1TkpFK3pUNklUVGJaS2NraTZLQU5CTW9jK3dr?= =?utf-8?B?TUttaC9sVmxvcmFQZUczZktRL1JOREcxOUpQcWI0eUE2UjRWVEdscE9CY0t5?= =?utf-8?B?UzdsL3RSVnUydDA2Q0dKMnlpZnQxRXQ3K3J3QU52VncxZGo5WUhTQzlEb2Jx?= =?utf-8?B?aTVVUzc0b3E5YW8zLzlXbW9vaXF1Z2h6MDJBQ2pVa2ZTWGlmY2hJQzhSQ0k0?= =?utf-8?B?RnVLZzJDdjNSNUJKNVNkSncrVnI2cXNMbUQrTnVqdUlFaTZ4QXNuSFo4d1Iz?= =?utf-8?B?OVd6d2FjL0JRcHJKa3cxRUs4NW5iL0pkRTdvNXhwYUJUL0NUL2NmZ0EraHZ3?= =?utf-8?B?YVA3M2FOWHpPK2g4MVZpT1RwblBJVkRmcXlmd1orLzZEZjJ5NzZhWENRaTNF?= =?utf-8?B?MnU1VUFZOXBzUlNUVW80MElUK1U3TUR0MnlkamRXOE94YnhXM3VwcTRjaFMr?= =?utf-8?B?VElTZmU0VituZWkwQStSS0JCY0ZXcjVQRlRrRG53UmNnSnR3ajFOK2lUMkFn?= =?utf-8?B?L3dZdzBKRDZMbW1zcXBuYmhmZjJ6NlhsYlZYeUNIaGxzb1pBdEZ3SkZpQ3VM?= =?utf-8?B?d2IwVGQxRHR2eGVFQmJVUE5aZW9GRlk0UHFoaVl1M09NWlJla0IvSDlOcG1Q?= =?utf-8?B?OFBhK28rTVgrVmcveXF5NEU4N1Urcm1PZHBoUnZGWjdaWVJZNDBTUDNVR25o?= =?utf-8?B?UTlsSlpMaDh1MXRwc2RkbmVkY1ZpbnZJbWdSZmM3b2h1dHhWZ1NFdFczV3NH?= =?utf-8?B?ekgzNkJwTlJwaWp3YSs3OGpjRUd4TUUyOWxXWXFkS1RXcDV0T2FZeERWNHhw?= =?utf-8?B?L2VPVVBVYmNQTS9maE5uY2M1Y0dKYVB2K0pVZ1lGaDY1TzB4cHg5eVZrNmNP?= =?utf-8?B?K0lrR0RSejA2R0QwcEZFUm83d2Z3d0cyMndMd2plcm5XNG1sUGNSV3QvTWU0?= =?utf-8?B?UjgxeXo3RWdtYTNRZlA0Uk1Wdm5KS0tybVgyeGxUVWhXS1JtaXVvK1FVMUxL?= =?utf-8?B?aUpMWFZib3RSQXVkSUc4SU9TbjFZKzV5STFiRzc3ZmdrNVRtZzUrTHhjdVFZ?= =?utf-8?B?UG80NENmTjgyZE9BMExITDFza2dKUXczelhvR3FrbjlsQmkzbDU2M3BwdDBX?= =?utf-8?B?cmlPcU51UWNWSlR6REpwZjI3UlRmczZCbkk0VytxL0hqMFVmUnlJdDhGWHcr?= =?utf-8?B?cFVDckpac2NHRGUwTDd5eVlNNmM5L1hhdzJCckJVZ0YrYjhwTW4ybkFOZW1V?= =?utf-8?B?M1lXMGFIWnNkemlkLzFvR0NJUFZGZTFQNkJKNVVxbU5iaDJBUVlnRnYrWGhP?= =?utf-8?B?NVc3K2JwNCtHL2x2THpUUHFGT0k0VjhoK01nOFVFa1BXaytDd1JJNUNHYlFR?= =?utf-8?B?UVp4SzBDYkNYV1BLQWs5WVFiNXNoY3R2YXFidVBlYUttOHUwRzlpenJpQ2gw?= =?utf-8?B?Z3NiVlhFMGd4aWZ0Y3lxYVBESnU5dk83cko5WTlodDJHdlVLUCtsb253PT0=?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1150; 6:aqA0SAQGQp6BJJfzmKB+IILaeErcICBSdqYYFWVlxnWh4PTSUqWor+pa2366wzoBkUsm9B0WbFtt8u9HMxpHy4sooyz1zVj9G6jApnk5xn8ydut6PArt4qU44nrWAXD0fxe31fpSYXm0dRzgDiniYh5CZi1bScLdJQKfjK8qHR2x9Jvmw5nYMyBQulXGDT6h5TYhG06sB/LufCeDH5djY0xPjIE7h7dEF0RdRJmnyi0hrrpFtXejZupkXokLVFwV9oTfpczNjZp0x3OJ/4U6fxGfsNXuKlIBngh/zOfz3xyJgNjfzQQxDZwric3zyUwLvQm0GDgs3r+wNQS9KzyhQZOgMqduyMEUqcdfydzzmVk=; 5:3c4ZvfECLxZprRuLbNrxsHX82xh09moB/W0aAs3q4jUZCwTVBB/i+uxRj4LTEg+EGWKud+pwtC8E0srpPXDYddOj6hOY5Dg0bDI7BEYurx0Q+Aru2RQSr5zg9W8wb5m98qXfsCrim0PQ5FP7UKwSzQ==; 24:Gm/tWjSLM7UMIVSXYqeS0ukLNFO9Q3xwr8fG7oOfGK4/MlJYQjmCmLDz7lwS8zBncqg0+OfF24VBiNl4Ss6KYpwYDnDzIWHQi7aqjZJRvMc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1150; 7:D7dHMqXuxVHKhRr9pJ3GqGyKrhcdnXKydc7U+ZR3IYTzwvUZhUhziyKQWsglnrVNsq66Ho5zmfb+Q+pKFDrpx/wG5eAgaCEbgVuUavpBAl4AGkb5XUap0QroVqAVxGb12SWij4yCZyF32muL5sYo8woaPq843tsqoTVwdwCCkY6jCnQzbABdBE1kgjwrCctykgs/5LCayL7vrty2NHuhOiQvZPlEzhW6x/7WaUAqimQZ/A4U7ak9VlDMDeAB5GEx+88zktf51QXoXwK5cmi2Cfni+hoWL1eJAtKJ3O6rbpyQe2dI09nTtmtXvYIUr/6bGTSOSKxlNu0aUfi1DvU2bbx+G+XIURsmCluXMB1nX5g=; 20:M3y9x34XtbPVEvBrkpGpCh9OMnPkkNK0ExUdHVE/CDamoblNoDmgoulhJBoV0KuCJlRRoveFnBZ+gNVzMPQl1V4o52jNsYJrUARoMkigsVuJ8sB/Z8kbVJMN3N/vtGXgkVBSOEin3vUdc5teMtra1bArdzlrM60QZvC7hs9R2KXpC+kWV6ZVmSoywW9gjxF8CuTABrMVlgLP172C76ppR9ryYoAfIjtAP2PAQ7khubxPH2BvIoKNpwWuIDKQgH9u X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2016 23:09:39.2393 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1150 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Due to a hardware issue, it is possible for interrupt events to be incorrectly generated when performing a soft reset. To guard against this, perform the soft reset twice. Signed-off-by: Tom Lendacky --- drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-dev.c b/drivers/net/ethernet/amd/xgbe/xgbe-dev.c index 9037319..e3862bb 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-dev.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-dev.c @@ -1897,7 +1897,7 @@ static int xgbe_disable_int(struct xgbe_channel *channel, return 0; } -static int xgbe_exit(struct xgbe_prv_data *pdata) +static int __xgbe_exit(struct xgbe_prv_data *pdata) { unsigned int count = 2000; @@ -1919,6 +1919,20 @@ static int xgbe_exit(struct xgbe_prv_data *pdata) return 0; } +static int xgbe_exit(struct xgbe_prv_data *pdata) +{ + int ret; + + /* To guard against possible incorrectly generated interrupts, + * issue the software reset twice. + */ + ret = __xgbe_exit(pdata); + if (ret) + return ret; + + return __xgbe_exit(pdata); +} + static int xgbe_flush_tx_queues(struct xgbe_prv_data *pdata) { unsigned int i, count;