From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net v3] net: phy: Tell caller result of phy_change() Date: Mon, 12 Mar 2018 10:34:07 -0400 (EDT) Message-ID: <20180312.103407.1746384495514020212.davem@davemloft.net> References: <20180308203157.10855-1-brad.mouring@ni.com> <20180308222303.58267-1-brad.mouring@ni.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: andrew@lunn.ch, f.fainelli@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, sergei.shtylyov@cogentembedded.com To: brad.mouring@ni.com Return-path: In-Reply-To: <20180308222303.58267-1-brad.mouring@ni.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org From: Brad Mouring Date: Thu, 8 Mar 2018 16:23:03 -0600 > In 664fcf123a30e (net: phy: Threaded interrupts allow some simplification) > the phy_interrupt system was changed to use a traditional threaded > interrupt scheme instead of a workqueue approach. > > With this change, the phy status check moved into phy_change, which > did not report back to the caller whether or not the interrupt was > handled. This means that, in the case of a shared phy interrupt, > only the first phydev's interrupt registers are checked (since > phy_interrupt() would always return IRQ_HANDLED). This leads to > interrupt storms when it is a secondary device that's actually the > interrupt source. > > Signed-off-by: Brad Mouring Applied and queued up for -stable, thanks.