Patch "Revert "phy: IRQ cannot be shared"" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
Revert "phy: IRQ cannot be shared"
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
revert-phy-irq-cannot-be-shared.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Wed Sep 21 12:45:10 CEST 2016
From: Xander Huff <[email protected]>
Date: Wed, 24 Aug 2016 16:47:53 -0500
Subject: Revert "phy: IRQ cannot be shared"
From: Xander Huff <[email protected]>
[ Upstream commit c3e70edd7c2eed6acd234627a6007627f5c76e8e ]
This reverts:
commit 33c133cc7598 ("phy: IRQ cannot be shared")
On hardware with multiple PHY devices hooked up to the same IRQ line, allow them to share it.
Sergei Shtylyov says:
"I'm not sure now what was the reason I concluded that the IRQ sharing was impossible... most probably I thought that the kernel IRQ handling code exited the loop over the IRQ actions once IRQ_HANDLED was returned -- which is obviously not so in reality..."
--- drivers/net/phy/phy.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/net/phy/phy.c +4 -2
@@ -640,8 +640,10 @@ phy_err:int phy_start_interrupts (struct phy_device *phydev) {atomic_set (&phydev->irq_disable,0 ); -if (request_irq (phydev->irq, phy_interrupt,0 ,"phy_interrupt" , - phydev) <0 ) { +if (request_irq (phydev->irq, phy_interrupt, +IRQF_SHARED , +"phy_interrupt" , + phydev) <0 ) {pr_warn ("%s: Can't get IRQ %d (PHY)\n" , phydev->bus->name, phydev->irq); phydev->irq =PHY_POLL ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/revert-phy-irq-cannot-be-shared.patch