Received: by 10.223.176.5 with SMTP id f5csp253568wra; Fri, 26 Jan 2018 22:37:15 -0800 (PST) X-Google-Smtp-Source: AH8x22704oRsELtW8VdVh+TTJpQyUGHOSClaBMK+Lq8dLhpt+3rtnyFqThUbyYmnv5WyICi7NoHb X-Received: by 10.99.135.195 with SMTP id i186mr16924163pge.418.1517035035722; Fri, 26 Jan 2018 22:37:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517035035; cv=none; d=google.com; s=arc-20160816; b=xYeOxu2cIH5qELXmvWtUB1R15lpcIEiE7efEU+Q9koFIzUiHxnswLnU6z09+GTXjLq zzHtVddn9U+5X35PYSadUq5iIcgcEJ8d34xXPJpb1JFYqhNimEvx5dzu9Y63NAakGqyY PLxdeMo5Zs+07nI6p6v4BKOwKfkg01Su37RE9bLpLRg9PJVh4tRbZDYevpGQ5v5WA3Ik mRZyG752JPp7Qza2CCGIKdbHF/air9YtyExmWdo80FtNznp7dlOxOXeKc9uu7edfyK9m nR92raJPmS+sAEHRdfK+qHzSZcnaZi2SVgT6NKHtX/0dIr+l9zggei8N8uCyiYaJlt8U I9tw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:spamdiagnosticmetadata :spamdiagnosticoutput:mime-version:message-id:date:subject:cc:to :from:arc-authentication-results; bh=45T7b9aGlrCV0qvpYEIyNjbiFI0hJu0Up7oNRUNh9yM=; b=hhXVZUHap7gLWB/wM1SjC0xidB+ZRuPTSk/G5V8hCtGPuiZMaWNaQW8mtXmtwhrkPa saHBgs2iSgpUM2qVPsFImo8kU6pUT+ViPelhok416//nH0I6JXQ+Y8IiYQAPTlu+3sw/ aqfuOrqHeeh8HNuCDbihggk4Tnbz4siWu2l9o/oVUdk2XUmCVU/f12lr+sax+ibDP1Bc ql33inp+MwVCn6CJCkpSsa7TADsI7dyu2tuKFjffHaUPfFdYQqyCUTP6fd9qhNtd1x/Q LKXuSqo39Mx6w2jx/UrRPdDTjw59xvgLqowE5+a1HVZyBM1HIAf0CXsjHHx9pQcAmUp8 oJaQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t130si4098219pgc.236.2018.01.26.22.37.01; Fri, 26 Jan 2018 22:37:15 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751970AbeA0Ge4 (ORCPT + 99 others); Sat, 27 Jan 2018 01:34:56 -0500 Received: from mail-bl2nam02on0068.outbound.protection.outlook.com ([104.47.38.68]:18947 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751595AbeA0Gex (ORCPT ); Sat, 27 Jan 2018 01:34:53 -0500 Received: from MWHPR0201CA0014.namprd02.prod.outlook.com (10.167.160.155) by BN6PR02MB2324.namprd02.prod.outlook.com (10.168.254.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Sat, 27 Jan 2018 06:34:52 +0000 Received: from CY1NAM02FT005.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::209) by MWHPR0201CA0014.outlook.office365.com (2603:10b6:301:74::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.444.14 via Frontend Transport; Sat, 27 Jan 2018 06:34:51 +0000 Authentication-Results: spf=softfail (sender IP is 149.199.60.100) smtp.mailfrom=gmail.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=gmail.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning gmail.com discourages use of 149.199.60.100 as permitted sender) Received: from xsj-pvapsmtpgw02 (149.199.60.100) by CY1NAM02FT005.mail.protection.outlook.com (10.152.74.117) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.444.13 via Frontend Transport; Sat, 27 Jan 2018 06:34:51 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:50404 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1efK4g-0004Y7-QH; Fri, 26 Jan 2018 22:34:50 -0800 Received: from [127.0.0.1] (helo=xsj-smtp-dlp1.xlnx.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1efK4g-0005Hb-Lp; Fri, 26 Jan 2018 22:34:50 -0800 Received: from xsj-pvapsmtp01 (xsj-mail.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w0R6Yncf001525; Fri, 26 Jan 2018 22:34:49 -0800 Received: from [172.23.37.92] (helo=xhdharinik40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1efK4e-0005HS-VQ; Fri, 26 Jan 2018 22:34:49 -0800 From: To: , , CC: , , , , Harini Katakam , Michal Simek Subject: [PATCH v2] net: macb: Handle HRESP error Date: Sat, 27 Jan 2018 11:56:21 +0530 Message-ID: <1517034381-14115-1-git-send-email-harinikatakamlinux@gmail.com> X-Mailer: git-send-email 2.7.4 X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-Result: No-3.268-7.0-31-1 X-imss-scan-details: No-3.268-7.0-31-1;No-3.268-5.0-31-1 X-TM-AS-User-Approved-Sender: No;No X-TM-AS-Result-Xfilter: Match text exemption rules:No X-EOPAttributedMessage: 0 X-Matching-Connectors: 131615084920711638;(f9e945fa-a09a-4caa-7158-08d2eb1d8c44);() X-Forefront-Antispam-Report: CIP:149.199.60.100;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(346002)(376002)(39860400002)(39380400002)(396003)(2980300002)(189003)(199004)(82202002)(6666003)(5890100001)(36756003)(87572001)(16586007)(450100002)(54906003)(110136005)(105596002)(305945005)(316002)(73972006)(4326008)(51416003)(81442002)(498600001)(73392002)(107886003)(106466001)(5660300001)(50466002)(48376002)(76482006)(356003)(63266004)(50226002)(61266001)(2876002)(2201001)(47776003)(7049001)(8936002)(83322999)(9786002)(55446002)(86152003)(77096007)(81166006)(26005)(8676002)(86362001)(81156014)(59450400001)(2906002)(336011)(107986001)(5001870100001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR02MB2324;H:xsj-pvapsmtpgw02;FPR:;SPF:SoftFail;PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1NAM02FT005;1:Ksra8o1iSfZA79WZHVN2Y6/Yf3+79B+gWzbRoQFOTAmfBx+4M/Y1G9i5cQljvTjTI7tMKIyzBf0C4k0QxhhK08MJmTvMutk1E4pBfxbfj+/Otvx2uvVSw1JU9+LYru3d MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e5fe68bf-6e1b-4989-a053-08d565501235 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(5600026)(4604075)(2017052603307);SRVR:BN6PR02MB2324; X-Microsoft-Exchange-Diagnostics: 1;BN6PR02MB2324;3:V/UlKZ1DZHsXiNelnEw2Q0973IpWznG5FfTnBSjKzpMyM1tSaMmLZEQ4qc9QeW+sJ2Fm4aWNf+yqM+wDHnX/dweUx+mgooLNNzlU2sNqP3V2t8amI5jmD02HV/cc2Qyto5ixR7agRO3htsN1xhtjMPQg+coo1nEa/yyb81p8kWOKNPfBg1n4TpkZHzWypTueiG/7yK0mSJ9er53MYsFdxheOs25vlUrMvxdTxLx5Qrd10DRxwONmyhHcdvANrZbyKV9d7g05EgGd+NXphKJWDV6U90Ok1Q+IfCBg87gIOnGw0ZJkRotalTZuFeKcGz1kUgM4z2v5kMQK2WCW9Vov2qduTLpw8taoDyFYIfBkuGQ=;25:EVrbCYZ7KATNQB4Cc15DZIZW8OSbGrRwh4srs+nhsH82gfMjmEXzY4hT1utwnzNSCRBq1wMfNjCZPkFXf0XSOEwg9VWQwGHq3mnBhCT1rVs/EULdgEQStE+8vyGFGkpdRe/gOL+CS51ZbfMlNhiti+IT9bMOk/vHglJZFyUdckZW878pFCAYxmDmjqXJQDsgTuiR+FCwlLFSnLV0XfsTQfouRdXC55dJQDdrtB6Hfe2x3P/Y45maSxDxmBtM0D3I4Z34wiKLEH3uxhmkeGn70eirCP7MRdkkVsI7uyYGwL33oWQT4x4+ThGwB+k7es7oRSQB4405sgIomPxrR5A2Kw== X-MS-TrafficTypeDiagnostic: BN6PR02MB2324: X-Microsoft-Exchange-Diagnostics: 1;BN6PR02MB2324;31:e4F0etD7l6wL7XqwPryhzHQjFZ8LLjd2xjwOmzd/4xTbX+9opSv44TC5JKZVX199FjcWn8d+2qDgr60+H405MHGx1NlZ64CDYQXKy1ehNo92yTFnkix/Jy2Tc41jWCVc6tA1LOoffdjJZw3E1njf4x1X6PrzzRClpqE63oZD8D3o7FpwutbADVeK2v5NxEZ9xqVcV3Ueb4rdioYbN/b6/m9Aw/ICm+S3IQ8LvG8R9xE=;4:uSKBYugS24Hfy+l0hmw0GNI7ro8psTPevT/nkhkMU3IBJOAFnq82q9mosskd4bU1UahRNeFVjhu1vF43M5Cu1KWBA2OmCbHMb6Y8SCnDt9gDAnsxRAqgv+AgjECu1W37WK/xFcuUtH88YXdISKLq0bVoI73RFzBJUcoYMqzzPWsTA2uSo1npQOTawWRDIPN2g074rFkw9n9cBwKYF+Hi/PgkugSGWDBs+dYqMp3/5VfDGnfpzBzgcF5VVmpFl4ZeZ3a7MR9bZCTK/5rZ2Fj/3j/6zYg7L6hfAn9YF0gn8KKlDafWO/djz+XdFBat/ZiQ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095135)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231023)(2400081)(944501161)(6055026)(6096035)(20161123556025)(201703131430075)(201703131448075)(201703131433075)(201703151042153)(20161123561025)(20161123565025)(20161123559100)(20161123563025)(201708071742011);SRVR:BN6PR02MB2324;BCL:0;PCL:0;RULEID:(400006);SRVR:BN6PR02MB2324; X-Forefront-PRVS: 056544FBEE X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR02MB2324;23:mya9o/U02FN/BZe0DDISoIE7JP3PoVrm6OckoxYHV?= =?us-ascii?Q?5EN+yPUqXrhf9mEnHNqax59WXkezaGBsmPLkcMAo56nItr6WIswwIVQerZ2S?= =?us-ascii?Q?F7PI3AsU/mPCsqH2Fh+QZDLfdCOz1rAeqjaVg9q5UWb38iWHpPKmSO/yPXTp?= =?us-ascii?Q?vPlL0tsIxr8J74WOX/zIj32kYYnfcejvG1BOxWvXEWUQ1Ru3CAUCE8OcPTZK?= =?us-ascii?Q?x6uBf6Z+sRPSg1mTN7PUFCRnZZuIrkP4lBfgwNjG4AjfPzHke/htvn6z6SAS?= =?us-ascii?Q?/C1UfkyCxsAVxoMSw+xqIpJDFW+NpHTp9D/uCn5mHUXIXYsVGoAMfd79fk4h?= =?us-ascii?Q?bU9O3W+YhZLWo8qnvI+axnXcJTGbxh7nUsAZAKsrW7E7fb0uaIQHIgTKEm/P?= =?us-ascii?Q?d6bFCULN0cjZ+8Jo3MF9sUyRAG2FMrvIayCsKT4xL7dxL0tT/rzAT/im+KaE?= =?us-ascii?Q?9O9N+WOdnMzkyysQhg3o4Z/h/7Vxc8nto5IDVpq4dFDcSQBgCucsbEvjSrGx?= =?us-ascii?Q?kYK8BfRjM5cRMXiTs8zyI3hSTtReEsaoO0R935oqTTy496Z0e8Uqh23Ly8SS?= =?us-ascii?Q?yJ3CZENPwmUhBhUeEj4vMFwtvBCLO0/9kwL1fNYWPIY+E1HRGbseb0pqYGGj?= =?us-ascii?Q?cvkqycj/SjY+RUXvk2THicfW/VYFXWWG8JghbG3LjJkMy5QmHh+VbqcL0vPS?= =?us-ascii?Q?MEucwlkoYJzGa/wc7/py184ppzhKfiiQJL0WnpycOXpdkTM76W1zN8JurhWy?= =?us-ascii?Q?V6xsytT34TOL/UEMGyoEVR6+zTkz4ztHM9hP2UfgbtI+OhPVWAzeQPVPtBmh?= =?us-ascii?Q?kt/uJ9zgEsz6eOGcvatNs3CHLSUUzNXdWBW0SAzrq+pve8vBTwT2DL2HM06O?= =?us-ascii?Q?IlOcdw/uoZSjsO+8Kwy/RvCpYuZPwrDZOSG1UOFiUbSjmnYHhCP4PnP7ByDj?= =?us-ascii?Q?asINs0kLZxxC78GsJ5z749fke3000rrmzDuBR2Kse7C4d0jKMBaeMfvs7GsU?= =?us-ascii?Q?+CxkCD8KAZ1hcH0yV8d/Su5wj2vRZfP//esKHhfFuOGkb/977AgJOr5GWnbx?= =?us-ascii?Q?GPqmi9jI69Y/nSNB9YeEVkMG87JLwzmXnjHb7EdnaVmARcfPXNDsnuQ8HmC4?= =?us-ascii?Q?R6Zbz2RYQVuyaH6MB08CX3JiPrpvv1k0OoBzmX/dK7Yr8vEGpq2ysImQ/dmK?= =?us-ascii?Q?gNv6kAL8BLSyZiyDl3gg30217d+Cf5c3IRntPT6zdAEUkiYDx8h39KKHSo1Q?= =?us-ascii?Q?Ea9iFOePJoBr10Edm28hb6U7ALLzM6WVds3L3rhuJTqL4IudS1byz2ZB5dzS?= =?us-ascii?Q?EwCJsbZLVE9TY+1srb4dPI=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR02MB2324;6:Y2Xc5JLKfpwAHZCTeTz5sMQf2cx9j8Kc4EpPNEZYzSKMgDU0DzxLplf8ny6PP6WqYteYCbgjpFdXUyrPBBwzFrYiS9a4K4ituf/x5ImUJXuP/fV95ovXgq3TiseKfDI2HceyBqjW6DjqPXRg1Dm4Emoxx3NVZ4UFn0qv3h1h3Nd1jwuoUQfFmrQerqqfa3/E2vBNZn9I/en4rUtfX4s4XDEu0gJpD3yRgVC3E5L9T2ug2rxP8XwvjPPjan2jPIsctZA/Ce+ELl7jv4pjUkIWFydhXJGgspP9By83+lILImZ5vwYAvxuyHoadiYtkvUHdkADgUZwEoVL9jnPsF1JpOrD7dcsOUz8oba8SR9PZ8hE=;5:Chc/yyjQvFtr/O0IGYBofgumVF5HPFkpvngtPGYhnH0ZsYdHRn8n28S6DmF/QKYwxdjTC2pr8pGNyhkbEKWMQPtiarY2FQVou9lid5sIhFuonlUZ6jDubsRT2qdotqiwVTvi7jj/0yMmWdHvVdWd250BX5aCuNGCXwhYbsQ1kI4=;24:gWTnm9d4i1WaeHnHWFUZsgrYNKtGG13jfv3gg7WsmHtGPpK5ySaaHFsCpGXZoieX3gKhzayh6X0hO4L8txXKszHGlZJ6NenCGZYnX0s3Jo4=;7:g742pfFrgO32wlOQIf9IiMAXpP4WBnWAB1O2FOof9WnDgQrSCWzoobMP1derDDgj0hNoqG0qOxj/OhCRK5rJtTv0M8tW9W5jIJSSmzp/fcgJlSdAQMMf5ReHHsv17rxS3boUD6bVnjWQg95KeVXp/ffAfuHi9Tc8OUgelohPUC5vry7lOltv7Akm1886U9Kl4oJ77cpv/Bhew9YIuBacLlz+DIGoNjmfKSfpSCy2UJMlphFnjytkQFOmMr/B/SVJ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2018 06:34:51.7742 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e5fe68bf-6e1b-4989-a053-08d565501235 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[149.199.60.100];Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR02MB2324 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Harini Katakam Handle HRESP error by doing a SW reset of RX and TX and re-initializing the descriptors, RX and TX queue pointers. Signed-off-by: Harini Katakam Signed-off-by: Michal Simek --- v2: Rebased on top of latest net-next and reinitialized all rx queues. drivers/net/ethernet/cadence/macb.h | 3 ++ drivers/net/ethernet/cadence/macb_main.c | 59 +++++++++++++++++++++++++++++--- 2 files changed, 58 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h index c50c5ec..8665982 100644 --- a/drivers/net/ethernet/cadence/macb.h +++ b/drivers/net/ethernet/cadence/macb.h @@ -13,6 +13,7 @@ #include #include #include +#include #if defined(CONFIG_ARCH_DMA_ADDR_T_64BIT) || defined(CONFIG_MACB_USE_HWSTAMP) #define MACB_EXT_DESC @@ -1200,6 +1201,8 @@ struct macb { struct ethtool_rx_fs_list rx_fs_list; spinlock_t rx_fs_lock; unsigned int max_tuples; + + struct tasklet_struct hresp_err_tasklet; }; #ifdef CONFIG_MACB_USE_HWSTAMP diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 234667e..e84afcf 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -1258,6 +1258,57 @@ static int macb_poll(struct napi_struct *napi, int budget) return work_done; } +static void macb_hresp_error_task(unsigned long data) +{ + struct macb *bp = (struct macb *)data; + struct net_device *dev = bp->dev; + struct macb_queue *queue = bp->queues; + unsigned int q; + u32 ctrl; + + for (q = 0, queue = bp->queues; q < bp->num_queues; ++q, ++queue) { + queue_writel(queue, IDR, MACB_RX_INT_FLAGS | + MACB_TX_INT_FLAGS | + MACB_BIT(HRESP)); + } + ctrl = macb_readl(bp, NCR); + ctrl &= ~(MACB_BIT(RE) | MACB_BIT(TE)); + macb_writel(bp, NCR, ctrl); + + netif_tx_stop_all_queues(dev); + netif_carrier_off(dev); + + bp->macbgem_ops.mog_init_rings(bp); + + /* Initialize TX and RX buffers */ + for (q = 0, queue = bp->queues; q < bp->num_queues; ++q, ++queue) { + queue_writel(queue, RBQP, lower_32_bits(queue->rx_ring_dma)); +#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT + if (bp->hw_dma_cap & HW_DMA_CAP_64B) + queue_writel(queue, RBQPH, + upper_32_bits(queue->rx_ring_dma)); +#endif + queue_writel(queue, TBQP, lower_32_bits(queue->tx_ring_dma)); +#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT + if (bp->hw_dma_cap & HW_DMA_CAP_64B) + queue_writel(queue, TBQPH, + upper_32_bits(queue->tx_ring_dma)); +#endif + + /* Enable interrupts */ + queue_writel(queue, IER, + MACB_RX_INT_FLAGS | + MACB_TX_INT_FLAGS | + MACB_BIT(HRESP)); + } + + ctrl |= MACB_BIT(RE) | MACB_BIT(TE); + macb_writel(bp, NCR, ctrl); + + netif_carrier_on(dev); + netif_tx_start_all_queues(dev); +} + static irqreturn_t macb_interrupt(int irq, void *dev_id) { struct macb_queue *queue = dev_id; @@ -1347,10 +1398,7 @@ static irqreturn_t macb_interrupt(int irq, void *dev_id) } if (status & MACB_BIT(HRESP)) { - /* TODO: Reset the hardware, and maybe move the - * netdev_err to a lower-priority context as well - * (work queue?) - */ + tasklet_schedule(&bp->hresp_err_tasklet); netdev_err(dev, "DMA bus error: HRESP not OK\n"); if (bp->caps & MACB_CAPS_ISR_CLEAR_ON_WRITE) @@ -3937,6 +3985,9 @@ static int macb_probe(struct platform_device *pdev) goto err_out_unregister_mdio; } + tasklet_init(&bp->hresp_err_tasklet, macb_hresp_error_task, + (unsigned long)bp); + phy_attached_info(phydev); netdev_info(dev, "Cadence %s rev 0x%08x at 0x%08lx irq %d (%pM)\n", -- 2.7.4