From patchwork Wed Apr 11 12:23:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Russkikh X-Patchwork-Id: 897150 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=aquantia.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="oAAo5bAO"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40LjrZ3jn3z9s27 for ; Wed, 11 Apr 2018 22:23:58 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752974AbeDKMXx (ORCPT ); Wed, 11 Apr 2018 08:23:53 -0400 Received: from mail-by2nam01on0042.outbound.protection.outlook.com ([104.47.34.42]:61120 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752904AbeDKMXv (ORCPT ); Wed, 11 Apr 2018 08:23:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Ni7dfPp5uo9GjISmPsvRQSDkL2whgGkLXNwyc5urnWA=; b=oAAo5bAOUY15sOTB2vIJYFhd+HFu4VyDbMdqWcbl/G46fY+rztlKIPVh8R0LEczjFh/LA8K7ua2BPlqJhxXWeR+LndelN9GvbDfN5HkdqOg+5WNcQoJV/Nr0tiF416wh0gl9/9d6p7WlSfJQiySU/xYpazs0AW4P5fv1VS2wkUM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; Received: from ubuntubox.rdc.aquantia.com (95.79.108.179) by BLUPR0701MB1651.namprd07.prod.outlook.com (2a01:111:e400:58c6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.675.10; Wed, 11 Apr 2018 12:23:47 +0000 From: Igor Russkikh To: "David S . Miller" Cc: netdev@vger.kernel.org, David Arcari , Pavel Belous , Igor Russkikh Subject: [PATCH net 1/2] net: aquantia: Regression on reset with 1.x firmware Date: Wed, 11 Apr 2018 15:23:24 +0300 Message-Id: <5e61ee3580c9eac8a05c6d6ab3a3ea44f2e36eb2.1523449097.git.igor.russkikh@aquantia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [95.79.108.179] X-ClientProxiedBy: HE1PR05CA0363.eurprd05.prod.outlook.com (2603:10a6:7:94::22) To BLUPR0701MB1651.namprd07.prod.outlook.com (2a01:111:e400:58c6::21) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(7021125)(5600026)(4534165)(7022125)(4603075)(4627221)(201702281549075)(7048125)(7024125)(7027125)(7028125)(7023125)(2017052603328)(7153060)(7193020); SRVR:BLUPR0701MB1651; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1651; 3:w9aICHT7prZYPCIW+vFbM+V5fOHqhzGrRIyOObEwIfiX8NGXd3j65WkbVWXMxweh6k76a3c6Besf03m02o55TNk5DVslZEdQnrBwLpefJYmFuFvtprNQ7YEL1aJuHOisbtewuR1OVwCoiQ8190YOT7lJFbbhROrQGjkAEntoaYpTKYjfoxtPC4nmsAPBnoc2DsW8ryVX2DBHasfDFW0C7b0ey0FkpOJqUEUmvYuTA6ZNGr453aycSGzuy6ejppC1; 25:WvmoeIpV+LkFQ9kosA3ttqlEtCNUfqOaGdgQ/oDffCWVqtPHp9HgEWORToN3UQp/eA8B0UcHb+GsOHbiBRRkkH2eoGpXjMKhMYtK+dqO9vqS79Cio6DlJuq6XoaRYdq3NLAXd36komga+3AHIisUM97YnUdvWnUJTH7fcXme9J4up5S1B00/X6q8R5FMoFnVtFrbdxniSTQlf2/jrke7itY+QpT3FH0EZLyMCCJTCxCBhOg9nheTUF+Bb+BKTSCMZcJOTeUTVAo99qyQ6tt9/vbFH0gaK1tGeu2MNlUhnPA4wNGIz6o70JmiPd9Zw1rqfPAF+AvGkFfe8Q9yXFIDqa5CuOko5u942AQ/HuYw5i0=; 31:1kKPmvYQ8hvTgUAvRn0vdv95e95peL09J1laO2O9QL5vEhNm8cXgmv3yErxm9d5GzgwtncmpcPWlFc4RREtw3iPAwJLiTVxljdbQidPoAcLz4sykooGWJy++nuBYpuXb0L8ZGmG3Y4A0+gh51XpgZ4hGs9hQtc5D0p4t2MpytuUM1Y3F7gKwWY24G5lcMNhX4B4CsVh/T34yFDj766QJM19QPMQSDxzdzLmhejFvmDw= X-MS-TrafficTypeDiagnostic: BLUPR0701MB1651: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1651; 20:397YG6NxM0/K74JozkzwQ+wliqCIaTb7v4Drcj3vd11QdApCpcNNffEptiOYsjbKdKs2ATX5Raq6SLQIoGHmJsoeUD3tGc2opbbxl0+2ScIc9vaamhVcjA9AdYfAko+MclSephtiB3rl4L0lZC1x0JsjZlWEmeOiqtTgqvU3cwrPblnzj7JDqrE0lZ8oKIYzHHP1bzEuO/qgwoappMwZkCH765+aIvfpWo7CbATgXVweFdftzVRz73ltnmH7/QN+AaVLtMbiKhGYUlpovqNYvteW/JvaCulwoXVs8G7zPJq4sUutZFee50B0/SqWuvKMIpAxZvPhcjcqTaw4B15D7oSN+htNxq0c0TXrnJJZnQWyU3uuDBDuvThhoF7lu9NoLe4Y9GDklsSRQKDVp3lm9yBGC7UJ3DHNCBGp5htaZO3Zo3oQilj6H05W3XQINr/chUiNw/QGWDw6hrQcN1/qsdJWsYF1CXMZQNKIMbWj0vsr34nIEtSGc2FPOvtt3Z4i; 4:fXHHfRUD+KS6Ij4vEj9dzHOOHA0cEic3wFI/1AmqdJNSHMJkeCcfwucUiFEmcqNHEXpKl/L2kTWwdYWemCjmeNMT4Dgn55Sgq9McAFE+rbFht9MbWq6E8wLVkH49CgQRkVWT2aJ3T7Esiz1uTxkQQx6eOntrc01ww1+3AmUUi9iW9UIun0YaDiruRDxLMAx48ySTQeGasUrPiT/RoMvcIT1puZ0cHzXs0ElQE8NlHrzk7igDkjV0rq8DoSv2GZQzIIfslYTF8Y/kAprpzrMNPg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231221)(944501327)(52105095)(3002001)(10201501046)(93006095)(93001095)(6041310)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(2016111802025)(6043046)(6072148)(201708071742011); SRVR:BLUPR0701MB1651; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1651; X-Forefront-PRVS: 0639027A9E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(366004)(396003)(39380400002)(376002)(189003)(199004)(305945005)(6916009)(25786009)(5660300001)(105586002)(6116002)(3846002)(50226002)(86362001)(11346002)(7736002)(446003)(4326008)(486006)(2906002)(76176011)(956004)(118296001)(54906003)(47776003)(6666003)(16586007)(316002)(476003)(2616005)(66066001)(53936002)(59450400001)(386003)(97736004)(6486002)(186003)(107886003)(16526019)(50466002)(81156014)(81166006)(106356001)(68736007)(7696005)(52116002)(51416003)(36756003)(8936002)(26005)(478600001)(72206003)(8676002)(48376002); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1651; H:ubuntubox.rdc.aquantia.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1651; 23:zu7gq82FpeduZibLbgWbyl1JPlY2JVcEwQolcqJH5AE4543AB1VKL8Kbm2bWx4kFeAROiK3j+Q8qWvm7m8jjheB3ioevCse3IO+cS2ss+aOQw+dXs5X+Qg7o1u8G5sx7Dnek4PtBnuBZTtFwhMaIjr7Wt27a/JJdQOsZMBhKxpv8OWr68ipOlGROzGQRJANsk/KKkauiRSEcQ7RmtBR/9uNZWqM7UIpu3J2YClUcxJ2kbpnQKkd5wacw5HoAka58rGw8b3t974qtD/1D3KrI+NGCV8gAsqmE3qq6JWPYpuBXlYzGh74IQFdrbUe6uHLvF+jvLB1BTYKo1KdE7UiGrRv6QJvlT+sv/yi8Vpxv+f4oYaaeOJJ0VXA//7FuupMe9AFfAFq2AspUDzi6QIcaEVMVC0jRtXFFc+r9JIqUYlQS6tcU7leXFxHpQFxs5nxgozYYa4JAmZxKl/dOTnbdTFlpS3qGd3R5lIdfXxgKpuIVB7oAn5BeN6jeF/8f8EXgbQUImbdS6uVssocwUA8L/7Gudt1OCLBo2MDoD6sBtDg+uOKGxFhdaOUPnassKSIHJmkWREU4srjv0++wo57rpj9JwDh3tY6GcPI/mzG1382WISTv5B62SkGDkZD5cezpicvXQJAl2+A/A4eYxy/63JWA9Td26e5QZOZGuhfv1D/lSJFJ8Xi4G9IZCXoTVX61rJdv/WVDJT4z292kDeiDTW3BuE1d2sVNqs0vYI5LGS0pQDd3EqD4XurlaAYrkWNUf1uSpyRR4MtIIiBm/GQvWBRCkoIcOkbIHKiu4M8DcXOUR79j4+cTk+XWAvBuEfXcHLISKW8xQhhSvZNeKi7ryDe0/0gq6a1aTYhfR4Spb1f2lr4ZV2GjJb0Xyu4ACHFvGrC3W75aqzrG+tlvxcNOnCJYnxotyVXeHzS40H+VfuV2ROPfnm/34HrCtcwcbAiCa6LwdyVJ843pe1Fe+IFxSbfkwPP6rQzfmxs3bKcUcfdp6B8/L08grZpm52ZVYnbq19jrgggTY3O3fK2bKubJ3theer9eZgPQn3JzYwVF3IglKGHlCUlfVBnHk82ieizT8N8xEWCleX/GBkq44DoNAmNkjJ3ThOw+PU204DAzTm7yh855qLw02opinVd+CG5L1UewlNONKAnB5qt4Yrss4kn9OTXk+MaP91ayIypvyxdsCTl+Y5LH/0YDc2WdyDVXXAKEoVrySW8jix7+XAcjuD7kZIirqRfZRG+6JextRoiUkXLzbqV03kNhYa9DrgdB X-Microsoft-Antispam-Message-Info: +NG0DB5GQN+rT13KhbJvHZL7Dn8I64XW2HlfZoMdJQ4PYBNaYvItkMjgMNe0ONHf6xncop0jbpc8jdj96N4DQqA24grXH5gZmi44s9x2qHQLKDiesri4Bo1CZ+GoihmCQOkroFNccKY6e5IWeFWP+F7OZN0HegdVeEX889pnUVXKiIz3wO0+gID6XxlPeLip X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1651; 6:sX33GCC/l/6ed3tTXRgtjXG5qjRmxtn1YtHxwdAXbgW6Ngoo/9B9tHfHhbbA05WPjoKisKQ1pz6wcbAVQ1XCbcObHoMCxYWwrfd5noWcDv3ZkUy0IgYISMKQzE7pgVBWC7UFpWHtXpM02hm0jJLskmGS4Hk0+T/i4nnqBQsmNHhRRHuuFVIvdBLroc+FB7mKxyMZ3obD8M6q9QileRAFL5xm+6u0CXo0UrWGZQq5p0BoTo7TkscPhlG5f4TBcybeHDjBeNCiOyKh7P2+cQVx2T5hOtlAtNKfEAPwqIxMvr442sEYfbvTwA8qr59eHVVLf62+7VFUf+EuN/sdjLA9ThKpoB4ZmUdSB6rlN57liwCj2tn4qWMGaaYOGvpKKidbBv/g4JlCqnEYneRehlSJnMM6T349IIKNihTROf4SkzaD8GAXDK+UHSespCI4s5ZKpZeWeMNqvlJsnvgj3X5ybA==; 5:BU4CPCzAl+i5mT5Lihfbv8UYQFHiSHiLzAFbG5DaDPN5aQiLHqdjFammUaQUL09ow8oKvOuqM2RSWKEHq8UkB1O3XJeW7OxFVizWsyHaQ67XQSzL9t6ImCKD44yQTKO/UY3nHedu/maFEnZquYs3LUmgJ0iYILmY79BVnMUUQwA=; 24:IODeFN1g3yuKFdNyEp0jG1LI3lZMWBnFMxTVOiXQQ9VhxX2wa8dOuAL0VXNIF5YF3qEQ8TD5WWJrW4zaSA/K0HFxjT4k1kCJNxOjv/wI9L0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1651; 7:CHc5p8/62fp95+iQdu6F7Gpnk4cvMRcwp6juYf93vBcUpBL6a6+HYm1mAb3OyzBKgCHfFvlHN5y3srOxrLhEgmWMuH2Yn58LMuuOLvG76nzvujO9n11DFJPTv0qvuXLBj4LEKCBXCEOvdxxHKruh3R1Z23BQh+0ByNXZ67bV5E8IlRMG6Fj89tflfPtDSPP+VMJQZE3nTo/aTKnURFcNI2X/ZAnIWvB+7a0Bm+Q4ipr6s/LdYxsKseZeaetRNY9I X-MS-Office365-Filtering-Correlation-Id: dd6b4dbb-8357-4054-625f-08d59fa71454 X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2018 12:23:47.5346 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dd6b4dbb-8357-4054-625f-08d59fa71454 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1651 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On ASUS XG-C100C with 1.5.44 firmware a special mode called "dirty wake" is active. With this mode when motherboard gets powered (but no poweron happens yet), NIC automatically enables powersave link and watches for WOL packet. This normally allows to powerup the PC after AC power failures. Not all motherboards or bios settings gives power to PCI slots, so this mode is not enabled on all the hardware. 4.16 linux driver introduced full hardware reset sequence This is required since before that we had no NIC hardware reset implemented and there were side effects of "not clean start". But this full reset is incompatible with "dirty wake" WOL feature it keeps the PHY link in a special mode forever. As a consequence, driver sees no link and no traffic. To fix this we forcibly change FW state to idle state before doing the full reset. This makes FW to restore link state. Fixes: c8c82eb net: aquantia: Introduce global AQC hardware reset sequence Signed-off-by: Igor Russkikh --- .../net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c index 84d7f4d..e652d86 100644 --- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c +++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c @@ -48,6 +48,8 @@ #define FORCE_FLASHLESS 0 static int hw_atl_utils_ver_match(u32 ver_expected, u32 ver_actual); +static int hw_atl_utils_mpi_set_state(struct aq_hw_s *self, + enum hal_atl_utils_fw_state_e state); int hw_atl_utils_initfw(struct aq_hw_s *self, const struct aq_fw_ops **fw_ops) { @@ -247,6 +249,20 @@ int hw_atl_utils_soft_reset(struct aq_hw_s *self) self->rbl_enabled = (boot_exit_code != 0); + /* FW 1.x may bootup in an invalid POWER state (WOL feature). + * We should work around this by forcing its state back to DEINIT + */ + if (!hw_atl_utils_ver_match(HW_ATL_FW_VER_1X, + aq_hw_read_reg(self, + HW_ATL_MPI_FW_VERSION))) { + int err = 0; + + hw_atl_utils_mpi_set_state(self, MPI_DEINIT); + AQ_HW_WAIT_FOR((aq_hw_read_reg(self, HW_ATL_MPI_STATE_ADR) & + HW_ATL_MPI_STATE_MSK) == MPI_DEINIT, + 10, 1000U); + } + if (self->rbl_enabled) return hw_atl_utils_soft_reset_rbl(self); else From patchwork Wed Apr 11 12:23:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Russkikh X-Patchwork-Id: 897151 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=aquantia.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="BODK6b8l"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40Ljrd3wNbz9s27 for ; Wed, 11 Apr 2018 22:24:01 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753017AbeDKMX5 (ORCPT ); Wed, 11 Apr 2018 08:23:57 -0400 Received: from mail-by2nam03on0042.outbound.protection.outlook.com ([104.47.42.42]:29184 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752948AbeDKMXx (ORCPT ); Wed, 11 Apr 2018 08:23:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=yHfSbIN5ykUi/WGQFS5rf87cUhiCE9C7fsEdCtAVy9E=; b=BODK6b8lDhul5hqETPjmDe7s1dsscqx8vi0R0n6zAsHt7HZ9N1pISos06n9exE+2rpdRcJA8aOwDftdieElW3rFQn2h+GJnoXzWOEE995jUYeMoBHRdfQuySv2EBno53ZMdf6HWPfRJkYET3DrOV5XqXeEDsrsAJcI2MhjfEYlI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; Received: from ubuntubox.rdc.aquantia.com (95.79.108.179) by BLUPR0701MB1651.namprd07.prod.outlook.com (2a01:111:e400:58c6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.675.10; Wed, 11 Apr 2018 12:23:49 +0000 From: Igor Russkikh To: "David S . Miller" Cc: netdev@vger.kernel.org, David Arcari , Pavel Belous , Igor Russkikh Subject: [PATCH net 2/2] net: aquantia: oops when shutdown on already stopped device Date: Wed, 11 Apr 2018 15:23:25 +0300 Message-Id: X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [95.79.108.179] X-ClientProxiedBy: HE1PR05CA0363.eurprd05.prod.outlook.com (2603:10a6:7:94::22) To BLUPR0701MB1651.namprd07.prod.outlook.com (2a01:111:e400:58c6::21) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(7021125)(5600026)(4534165)(7022125)(4603075)(4627221)(201702281549075)(7048125)(7024125)(7027125)(7028125)(7023125)(2017052603328)(7153060)(7193020); SRVR:BLUPR0701MB1651; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1651; 3:fJzike7ciVJ21hfj9lmJhaRAEAzJB1JdEMg9ZQ44ViDFZtX0eMzl4ss5X6q98vfLJaun0UcAKyq6mijWRYhRAJKm5sOk4xoKweY3s8ScnSgQMABCOl93I4ttUuwKrLXBUoJe5t64PnA6V/V772UM6trn5LytrwaM/35xb9WVJ7HBfEwm0/LOdfCN1Od99//wcpQUbU+qxpR4IFU0emrPFErwshq+blBvr/0rsOdrROy/98QOtOJz9SR9zA0BNzVo; 25:h4D7q0uTZTocAzAlQSjblJPKW55NAyMK6wZfHEPyBK0SkPVw5IFwRGn3CUY1Oz++2J4LqgixoAsDCpSK4k20+iEy3WzkYZEhJoodgsJ4qHstkpKmXyiYm2HiDdlKxvqqZcK5FEHqIuO0D8kjRq7dcE3usGqtK+zt3epE+IgVCTA5ITIEBAn6/HMHdFR7Mrs5ChCXdGklEDonzuvFlT+r4ByonUtQMy8e5t+f8sN7CZvdxgqgVYoqXsBSy/PNgftIGJoUVdQHureM5bnsxTlZ0RPn/tEUUAgE6AdX4ExNwFBfIJW+3cksci55f/YTWTLsBAbSK+nYjT7DXzx17rfD9Ds7xT1eFhVHBIU2wsJVQkE=; 31:1HfO5HAcFyA30ZXjMIsj9PcZCreMf2Se7GrCfUXlmRS69nbtVlX3aKV9pkarKBwoV4v0oum+OTwngzWHYNLfp1xtM+KvD9w6Kq/YRJ5sd6ouGmm5sv1vs+KPVlV6xoV44EDjoXsfz6lx1G63nTMr1owrbtQAR6/nM4Zr9cnR4D/bERTEjo0PfGIx5ZPWQyeMPdtGHpXuflpsJ41EVk8Fi4VcamHsLeaVlRWBt7P/FQ8= X-MS-TrafficTypeDiagnostic: BLUPR0701MB1651: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1651; 20:JX3svaIoUhL1oxoTET1X0+T/ylGVR7SLEOYgFdPddNrY+Z8ehBcK5jKdOAC864G+pO83xh3Hzz4vkVEIckr7QpIRoq34tKfi97CRu7Wt2FYSxGzv2VExHKarAjlpdxZAahFSvgbZgP7HqMEfYoUkGqbv5BkOPRBM/MNLPYo7VV5bVR9QYWAJxjyFgc1iaFqXCtTpdxcdfwpwJOXN8Q3uiFRIl7K7G5baK6W1iNZPWWGQZV57R3aEKFig559VTtsnroG98js6ZjPcob+nc2iK7gSdx91eQjj4jVfBy9Kz8GXX2iy3XJgQnTeGxYzdXqYTfiLj/zp9ar8zQqcjkRDmfDZWqCSu0bvGt5esjucSFRA4V1gSo7cdNN8/mbI/bAx8xMv8boDWwiLspWfud9Vm8MLhHVw/nE7ejepDhBzSdHDqnSWdwfLOLw/xiBnRNwzZ5kpMAARkzoeq0M22w3TGJimcrBiat9zRaZ4ob0FhDtvvzQOGIF5VLibyYFxEW1f+; 4:KL+f3uIj+V9j5WUwDnoDTsrcqak+mu5fWbHedINdLEri7HGvThQJk/l0Riyhu42xPfbM8wqQqlwJhAR9/LqnMUO2bQNitKJjdpbHvTBWHNavdcttHEuviI9zFC/fbVN7mFr6BKAqR7tNc/HLuiCzlg0bEhty3Ib0279onUDRgisACTDn751/bPoFh/JlqisfXkjImlbuWSSnHNFKgl9zn/v1fbnH1W4ET84mD/rZam1xa7jYp/lu0PUbaSLqOmIV85DPO/V0I1Dfww7INiJyOA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231221)(944501327)(52105095)(3002001)(10201501046)(93006095)(93001095)(6041310)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(2016111802025)(6043046)(6072148)(201708071742011); SRVR:BLUPR0701MB1651; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1651; X-Forefront-PRVS: 0639027A9E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(366004)(396003)(39380400002)(376002)(189003)(199004)(305945005)(6916009)(25786009)(5660300001)(105586002)(6116002)(3846002)(50226002)(86362001)(11346002)(7736002)(446003)(4326008)(486006)(2906002)(76176011)(956004)(118296001)(54906003)(47776003)(6666003)(16586007)(316002)(476003)(2616005)(66066001)(53936002)(59450400001)(386003)(97736004)(6486002)(186003)(107886003)(16526019)(50466002)(81156014)(81166006)(106356001)(68736007)(7696005)(52116002)(51416003)(36756003)(8936002)(26005)(478600001)(72206003)(8676002)(48376002); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1651; H:ubuntubox.rdc.aquantia.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1651; 23:ul1gQ52OVpyyKv9f5L9o73HjH2mORnNzyIaJJjb4zOkVRwrywvy1SOijkDpdZigwYzHy11bGEB0b/uTxsd/6vzApV7y0rlFrpeR/GNBZXoUMItxuWvndUlKF1/JDlWsAAlMHS0VS7uViLy7jCiZOuYu2Tui6aQmAMHfM+VUvrhuNUFo/QbMnZ7FtvGd5I1df576uzGAkhVtVy4RbrUBAlaHWhm0Fr7h1YuiVe0LEnRvvctKr0HI2sgzHn432yNb18NdeKpeM+a5+5QwplWu7/yu1x5bPYpx/3WmX9/HV9tgoMpm4MkOHVgqODJfW+qGzllOEA6KTmR3kvKEdhHR2bQ+s6fgYdGsS/FRtS845wX165SaBysWfNwiSE7qVf3i3Sarj3LAiZOvIaVwXeJGW19f5rZNp6z04UCwC3gtGg7oke3aHF948XVOK221DrkMoArdDdL8SqmqV1KzzXbYpZqFmwP0hJTmFHbKTX0SBRw6XW6MaDboExUq0TO5m1xl2SjwqGLrxJvYd7zyZ7k3NO+akt0IZRJRUQIuy5mhC0LA0XGjpcDPyBAaGCJtUMY/0OFbuXWGlQN9LwgD+d9EDiACwDlbppEtfO/sB6TU6Mv/vIorOXCAXSRcYRJmOO0H9GWyNMtiSRT1mp3rMc9S7rFTGu0zwJvma7Ln6f6p1skw+9STAQVNeDw/VtWdKw3Yg6a+iU7L+CkESRVUK6ERaMLamgKG9zPiSbCGCzKYVTkUtG9BNDvNnTDTsOBioGEg1Kd51oOSTENLYJ5TTUQChQhoDKVlhCvJtUvFKn/Fp+nQfOKZolAugI1OV0TX14Iek5+RtehBrDi0j+cPDTLL6HLu4vVKkZH3dfNZuduUMz1W/oYuKNtl2rj2X/0M6B3q0NjouNWT0WAsIX5XmJkgKeQz1CEm6GCHXve+HLeJx17Zt1/LkXbE2u05swYkSyzcGf10aCluZbimtNpXq0pSYtK1IYgeA3aOBPCDvjcznclYxiqSOTO1RYI0HPz7R3KN6PZnBUg6n49ONQxLxvU5mPGZ5bkHxVnnz+h6yMXjfOAULQ0xh6Tq/yMRs98gzY9j3D91qZXwNf6teHemdhrst9g0hzSZUyTyPbt1c/lzMRviXVSKTmAOyNrCf+A3aDSB0m+ZkLW0egrrn4GrTnBNrHHKQh4TCd7MCabonox97qm1ISvglDq9e0/5buWFeF843pzFeNkALF5LKCqsC/bIFv2Vur8ySnZizbiMO1Vljwi7nrFZ21QgJuohwQZTgApDZ X-Microsoft-Antispam-Message-Info: I/TtG19cgBvqO8HaGv9HOIULUGtLHUu30ZVqAuXF3xkAkJucGZgUNrwlvFxM6whoMylMr2PdiQ0QAsQ4vWSMjpJMyb/ymS+nrCO2NTTJCns8HlCLHdX1zaPtCr7WeJmyBm6wRKL5Wo2Fjgaf/xmGcr8WBDkQHkVtwmpkb7BZPrYEjl/cZuv+R0nMm1e0RfM7 X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1651; 6:o9g+ITv0o/GBtyhxQ59oxYdreYzaRr7S9BPjinsq092Iv7oj0I9qPu96RwptOlQoN43Vi8taBcwuM9EwPlx9XVs/g/kVBUr/knQ/Ljl+9Vc4bdlwwouMs+Sr9tR6F3dldRIJ8T4Kq6xYyN8JhFWoqc9Y8pbAtaBZi1T/QE0yZHfiSD6hURRg+q43/ZXzzOOOoKpmLJiZDq98OKFY1mzRseYXueZNQ2IrvXfNeKvsgDJedDyiEv4AmKxk/Jl1Y4wlWDyTgx9yl39xUbDCIpU3cokNbeCjXx6ioPCK90FS5C4E7AZ+8kXQP5oWoSRLTXvMiIKEcxyzebD4Lx1xO0xApoUmGJUbY4SjOvR1TFEn89GHswVNUtU/ntD/+UWsbpQY1KWNKCeN0frLtkC0bDKWvT7jfRN3EWyrXEBK5baYLHyyzHkefH4HX/loDA+OkYFTqguJ3lGtYXynl1Ee/P8OWQ==; 5:FTOoLjl8GmXKliPTh/zQ1r3gLMvgyNq8OQn5TJdFDT1FHSaQEsKiU0gTY2IB0tx/WyfJY3CQsF5A9gRse1pjyYe0VCIrnIKmbOMjmp2uXnpY6j7tCJmi28MRIty0F3CJ+1UM7fNEpu95hUrwSZqRJ8IBVOWS5QjHVz4Ll0OxaZA=; 24:bcFXWWFEksLM4DrR6UfMLknsQYL61k0+HomxKxfuk9TBQZ99S/B1GM5uthjlXpJ1u1/EZgMW/FrW11hPB3uKvOyTW969aZMw9QH1az/zEow= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1651; 7:T3s6dspoGj/IRfh91pYZ76AYSLmkw8Na4wdebhXeE90M5zndDuA059Gh80wjVVBCgssJ3nBlg940pVdTycj6ZiGgx67iKxJYHoFWZGTsrTNLSVL8Oaxdqbh/1GSr1Iii9P8cbTY9xlC6ITb9rwRb/p3C5fbgqv8zgr/5x0zswhVukQJF8UX4WNtxboYtEPFGZrERA6jkq6mn2TSAQchUhcb8x4/2DfgyQXJGAJUsUYVB+HYpNDEd6nl+lignlMqt X-MS-Office365-Filtering-Correlation-Id: 6d614ea3-caf0-4072-099e-08d59fa7157c X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2018 12:23:49.7847 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6d614ea3-caf0-4072-099e-08d59fa7157c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1651 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In case netdev is closed at the moment of pci shutdown, aq_nic_stop gets called second time. napi_disable in that case hangs indefinitely. In other case, if device was never opened at all, we get oops because of null pointer access. We should invoke aq_nic_stop conditionally, only if device is running at the moment of shutdown. Reported-by: David Arcari Fixes: 90869ddfefeb ("net: aquantia: Implement pci shutdown callback") Signed-off-by: Igor Russkikh --- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index c96a921..32f6d2e 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -951,9 +951,11 @@ void aq_nic_shutdown(struct aq_nic_s *self) netif_device_detach(self->ndev); - err = aq_nic_stop(self); - if (err < 0) - goto err_exit; + if (netif_running(self->ndev)) { + err = aq_nic_stop(self); + if (err < 0) + goto err_exit; + } aq_nic_deinit(self); err_exit: