Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3e70edd authored by Xander Huff's avatar Xander Huff Committed by David S. Miller
Browse files

Revert "phy: IRQ cannot be shared"



This reverts:
  commit 33c133cc ("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..."

Signed-off-by: default avatarXander Huff <xander.huff@ni.com>
Signed-off-by: default avatarNathan Sullivan <nathan.sullivan@ni.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4f101c47
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -722,7 +722,9 @@ static int phy_disable_interrupts(struct phy_device *phydev)
int phy_start_interrupts(struct phy_device *phydev)
{
	atomic_set(&phydev->irq_disable, 0);
	if (request_irq(phydev->irq, phy_interrupt, 0, "phy_interrupt",
	if (request_irq(phydev->irq, phy_interrupt,
				IRQF_SHARED,
				"phy_interrupt",
				phydev) < 0) {
		pr_warn("%s: Can't get IRQ %d (PHY)\n",
			phydev->mdio.bus->name, phydev->irq);