Commit 33c133cc authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by David S. Miller

phy: IRQ cannot be shared

With the way PHY IRQ handler is implemented (all real handling being pushed to
the workqueue and returning IRQ_HANDLED all the time PHY is active), we cannot
really claim that PHY IRQ can be shared when calling request_irq().
Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f81152e3
...@@ -565,10 +565,8 @@ int phy_start_interrupts(struct phy_device *phydev) ...@@ -565,10 +565,8 @@ int phy_start_interrupts(struct phy_device *phydev)
int err = 0; int err = 0;
atomic_set(&phydev->irq_disable, 0); atomic_set(&phydev->irq_disable, 0);
if (request_irq(phydev->irq, phy_interrupt, if (request_irq(phydev->irq, phy_interrupt, 0, "phy_interrupt",
IRQF_SHARED, phydev) < 0) {
"phy_interrupt",
phydev) < 0) {
pr_warn("%s: Can't get IRQ %d (PHY)\n", pr_warn("%s: Can't get IRQ %d (PHY)\n",
phydev->bus->name, phydev->irq); phydev->bus->name, phydev->irq);
phydev->irq = PHY_POLL; phydev->irq = PHY_POLL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment