Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4786773yba; Wed, 10 Apr 2019 05:04:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqwJ8YOCmnFc7XMMZsfeOptzbq3kXKU+I85fEcQ15i9NQlazqHu0k0VpFZj2QA0RkDpZXMGf X-Received: by 2002:a63:e304:: with SMTP id f4mr38215980pgh.374.1554897862015; Wed, 10 Apr 2019 05:04:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554897862; cv=none; d=google.com; s=arc-20160816; b=T8xDubUtS+0xQdUvRV1TpHs/hLpskP2o+HiNiFMm+hJCnfIbu/4BM1++DylBaycKr/ eRXAvpzjJ/QoixFDrwUQSv02XVktx+kV/1Eo/ROGNvHlEFgxrJQxFRF2TejrWgN7QgYJ G1qZJXtYqyw5+JLTjbNgm233vhINScSe3cfuKVC1hfziMwgTF+5YgFqos92hDYAWe4oM sXD4lw6zoIZshqdvDQVb1Kq4wFbdysw0ee4zX2OIb4clSAjjh2Yq+XHQgP/gVZ5wNhVS ogryR9ZbbRNLxW8ZPFZWC+2oSEMActURTqQTvTV0AOxEnkrd4gV9ux7raNEomXY3jl/K HaeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:organization:autocrypt:openpgp:from:references:cc:to :subject; bh=04SGFsQhlR/mr2yYgMEbudcu66YLXQvSTCenY+jj4L4=; b=WpqTk3IOYbGsyFvZKeZhO5hvftf7f2yvp21c6X9cUvCBqWbC91x9QBVr+NaAuBfsxP fCx45VuffouGyGzr3oKlVS8voJl6mLbJU004+HST6epLakgcW+QfQlMdRzbfj/nvN/KJ FNrK+L3PvkFJrspxoI5JJEtKvCBf5YihwLnm/zuJfMf8G95OIZ6qREvv4YTCAOdybmUl fdtDbLlQ0vImOgYVHpeMD/p5nwRjNIHiNrIpd6riCxmb6Qaq58QyB/0QdqOWzpfVdKbA kYpdmuKoyTrm/UFE5+XR64em5utplOG5nOSC8lCwrc/g5WPuOzOD3Pn4A53nWnfpihOh Upcg== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p87si26831664pfa.77.2019.04.10.05.04.04; Wed, 10 Apr 2019 05:04:21 -0700 (PDT) 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729737AbfDJK2C (ORCPT + 99 others); Wed, 10 Apr 2019 06:28:02 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:51404 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727943AbfDJK2B (ORCPT ); Wed, 10 Apr 2019 06:28:01 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EC22915AB; Wed, 10 Apr 2019 03:28:00 -0700 (PDT) Received: from [10.1.196.92] (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 417393F59C; Wed, 10 Apr 2019 03:27:59 -0700 (PDT) Subject: Re: [PATCH] net: lan78xx: fix "enabled interrupts" warninig To: Jisheng Zhang , "RaghuramChary.Jallipalli@microchip.com" , Andrew Lunn , Florian Fainelli Cc: "Woojung.Huh@microchip.com" , "UNGLinuxDriver@microchip.com" , "davem@davemloft.net" , "netdev@vger.kernel.org" , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" References: <20190408140301.3dcbccdd@xhacker.debian> <20190408155947.3efcb1eb@xhacker.debian> <20190409092753.39961390@xhacker.debian> <20190410174538.5ebe1787@xhacker.debian> From: Marc Zyngier Openpgp: preference=signencrypt Autocrypt: addr=marc.zyngier@arm.com; prefer-encrypt=mutual; keydata= mQINBE6Jf0UBEADLCxpix34Ch3kQKA9SNlVQroj9aHAEzzl0+V8jrvT9a9GkK+FjBOIQz4KE g+3p+lqgJH4NfwPm9H5I5e3wa+Scz9wAqWLTT772Rqb6hf6kx0kKd0P2jGv79qXSmwru28vJ t9NNsmIhEYwS5eTfCbsZZDCnR31J6qxozsDHpCGLHlYym/VbC199Uq/pN5gH+5JHZyhyZiNW ozUCjMqC4eNW42nYVKZQfbj/k4W9xFfudFaFEhAf/Vb1r6F05eBP1uopuzNkAN7vqS8XcgQH qXI357YC4ToCbmqLue4HK9+2mtf7MTdHZYGZ939OfTlOGuxFW+bhtPQzsHiW7eNe0ew0+LaL 3wdNzT5abPBscqXWVGsZWCAzBmrZato+Pd2bSCDPLInZV0j+rjt7MWiSxEAEowue3IcZA++7 ifTDIscQdpeKT8hcL+9eHLgoSDH62SlubO/y8bB1hV8JjLW/jQpLnae0oz25h39ij4ijcp8N t5slf5DNRi1NLz5+iaaLg4gaM3ywVK2VEKdBTg+JTg3dfrb3DH7ctTQquyKun9IVY8AsxMc6 lxl4HxrpLX7HgF10685GG5fFla7R1RUnW5svgQhz6YVU33yJjk5lIIrrxKI/wLlhn066mtu1 DoD9TEAjwOmpa6ofV6rHeBPehUwMZEsLqlKfLsl0PpsJwov8TQARAQABtCNNYXJjIFp5bmdp ZXIgPG1hcmMuenluZ2llckBhcm0uY29tPokCOwQTAQIAJQIbAwYLCQgHAwIGFQgCCQoLBBYC AwECHgECF4AFAk6NvYYCGQEACgkQI9DQutE9ekObww/+NcUATWXOcnoPflpYG43GZ0XjQLng LQFjBZL+CJV5+1XMDfz4ATH37cR+8gMO1UwmWPv5tOMKLHhw6uLxGG4upPAm0qxjRA/SE3LC 22kBjWiSMrkQgv5FDcwdhAcj8A+gKgcXBeyXsGBXLjo5UQOGvPTQXcqNXB9A3ZZN9vS6QUYN TXFjnUnzCJd+PVI/4jORz9EUVw1q/+kZgmA8/GhfPH3xNetTGLyJCJcQ86acom2liLZZX4+1 6Hda2x3hxpoQo7pTu+XA2YC4XyUstNDYIsE4F4NVHGi88a3N8yWE+Z7cBI2HjGvpfNxZnmKX 6bws6RQ4LHDPhy0yzWFowJXGTqM/e79c1UeqOVxKGFF3VhJJu1nMlh+5hnW4glXOoy/WmDEM UMbl9KbJUfo+GgIQGMp8mwgW0vK4HrSmevlDeMcrLdfbbFbcZLNeFFBn6KqxFZaTd+LpylIH bOPN6fy1Dxf7UZscogYw5Pt0JscgpciuO3DAZo3eXz6ffj2NrWchnbj+SpPBiH4srfFmHY+Y LBemIIOmSqIsjoSRjNEZeEObkshDVG5NncJzbAQY+V3Q3yo9og/8ZiaulVWDbcpKyUpzt7pv cdnY3baDE8ate/cymFP5jGJK++QCeA6u6JzBp7HnKbngqWa6g8qDSjPXBPCLmmRWbc5j0lvA 6ilrF8m5Ag0ETol/RQEQAM/2pdLYCWmf3rtIiP8Wj5NwyjSL6/UrChXtoX9wlY8a4h3EX6E3 64snIJVMLbyr4bwdmPKULlny7T/R8dx/mCOWu/DztrVNQiXWOTKJnd/2iQblBT+W5W8ep/nS w3qUIckKwKdplQtzSKeE+PJ+GMS+DoNDDkcrVjUnsoCEr0aK3cO6g5hLGu8IBbC1CJYSpple VVb/sADnWF3SfUvJ/l4K8Uk4B4+X90KpA7U9MhvDTCy5mJGaTsFqDLpnqp/yqaT2P7kyMG2E w+eqtVIqwwweZA0S+tuqput5xdNAcsj2PugVx9tlw/LJo39nh8NrMxAhv5aQ+JJ2I8UTiHLX QvoC0Yc/jZX/JRB5r4x4IhK34Mv5TiH/gFfZbwxd287Y1jOaD9lhnke1SX5MXF7eCT3cgyB+ hgSu42w+2xYl3+rzIhQqxXhaP232t/b3ilJO00ZZ19d4KICGcakeiL6ZBtD8TrtkRiewI3v0 o8rUBWtjcDRgg3tWx/PcJvZnw1twbmRdaNvsvnlapD2Y9Js3woRLIjSAGOijwzFXSJyC2HU1 AAuR9uo4/QkeIrQVHIxP7TJZdJ9sGEWdeGPzzPlKLHwIX2HzfbdtPejPSXm5LJ026qdtJHgz BAb3NygZG6BH6EC1NPDQ6O53EXorXS1tsSAgp5ZDSFEBklpRVT3E0NrDABEBAAGJAh8EGAEC AAkFAk6Jf0UCGwwACgkQI9DQutE9ekMLBQ//U+Mt9DtFpzMCIHFPE9nNlsCm75j22lNiw6mX mx3cUA3pl+uRGQr/zQC5inQNtjFUmwGkHqrAw+SmG5gsgnM4pSdYvraWaCWOZCQCx1lpaCOl MotrNcwMJTJLQGc4BjJyOeSH59HQDitKfKMu/yjRhzT8CXhys6R0kYMrEN0tbe1cFOJkxSbV 0GgRTDF4PKyLT+RncoKxQe8lGxuk5614aRpBQa0LPafkirwqkUtxsPnarkPUEfkBlnIhAR8L kmneYLu0AvbWjfJCUH7qfpyS/FRrQCoBq9QIEcf2v1f0AIpA27f9KCEv5MZSHXGCdNcbjKw1 39YxYZhmXaHFKDSZIC29YhQJeXWlfDEDq6nIhvurZy3mSh2OMQgaIoFexPCsBBOclH8QUtMk a3jW/qYyrV+qUq9Wf3SKPrXf7B3xB332jFCETbyZQXqmowV+2b3rJFRWn5hK5B+xwvuxKyGq qDOGjof2dKl2zBIxbFgOclV7wqCVkhxSJi/QaOj2zBqSNPXga5DWtX3ekRnJLa1+ijXxmdjz hApihi08gwvP5G9fNGKQyRETePEtEAWt0b7dOqMzYBYGRVr7uS4uT6WP7fzOwAJC4lU7ZYWZ yVshCa0IvTtp1085RtT3qhh9mobkcZ+7cQOY+Tx2RGXS9WeOh2jZjdoWUv6CevXNQyOUXMM= Organization: ARM Ltd Message-ID: Date: Wed, 10 Apr 2019 11:27:57 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <20190410174538.5ebe1787@xhacker.debian> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/04/2019 10:53, Jisheng Zhang wrote: > > On Wed, 10 Apr 2019 09:20:38 +0000 wrote: > >> >>>>> >>>>> The warning comes from calling generic_handle_irq() in usb tasklet >>> context. >>>>> This is not correct. >>>>> >>>>> Per my understanding, if there's chained irq, we could introduce >>>>> extra irqdomain. E.g >>>>> >>>>> GIC <--> another irqchip controller <--> HW device >>>>> >>>> Correct, IRQ domain is generally used in chained irq controllers. >>>> Yes, We need to check why irq domain is used in the current driver. >>>> >>> >>> It's introduced in the commit cc89c323a30e >>> >> Hi Jisheng, > > Hi, > >> I had spent some time to look into the history of commit. The reason for having irq domain in driver is because of the unavailability of real hardware interrupt, here we have USB interrupt pipe which is not actual interrupt. >> So changes were proposed to have pseudo phy interrupt and handlers in phy lib. But later it was suggested to implement linux interrupt controller in driver itself. > > + Andrew, Florian > > USB net is different with Andrew's case. > > there's no irq at all in usb net > > but in Andrew's case, interrupt is connected to a GPIO line. As is known > GPIO can behave as irq chip. > >> You can see the archive here https://patchwork.ozlabs.org/patch/564511/ > > Per my understanding, the purpose is to avoid phy_state_machine() poll > phy_read_status() to monitor phy link. But as pointed out by Florian, > phy_mac_interrupt() is intended for that purpose. And the poll should be > fixed in phy. Since the email was sent in 2016, maybe the bug has been fixed. > >> I want to understand if there is any functionality impact with this warning? Because I'm afraid if the current changes are removed we might hit some other issues (or older ones). We have to go through rigorous testing before going ahead. > > Warning indicates there's something wrong in the code. Most definitely. This code is completely busted (handling pseudo interrupts out of a tasklet is a BUG), and things will crash or deadlock under the right conditions. > > IMHO phy_mac_interrupt() and PHY_IGNORE_INTERRUPT is the correct > solution. If the phy_mac_interrupt() poll is fixed, I think maybe > old issue which commit cc89c323a30e want to fix won't exist. Please also see this[1] thread, which has a potential solution for this. Thanks, M. [1] https://www.spinics.net/lists/netdev/msg542290.html -- Jazz is not dead. It just smells funny...