diff options
author | Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> | 2013-12-20 14:09:04 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-12-29 22:35:16 -0500 |
commit | 33c133cc7598e60976a069344910d63e56cc4401 (patch) | |
tree | 3289d4be3d0e66a2541b692577aeca6e6af0f3a8 /drivers/net/phy/phy.c | |
parent | f81152e35001e91997ec74a7b4e040e6ab0acccf (diff) |
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: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/phy.c')
-rw-r--r-- | drivers/net/phy/phy.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 36c6994436b7..98434b84f041 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c | |||
@@ -565,10 +565,8 @@ int phy_start_interrupts(struct phy_device *phydev) | |||
565 | int err = 0; | 565 | int err = 0; |
566 | 566 | ||
567 | atomic_set(&phydev->irq_disable, 0); | 567 | atomic_set(&phydev->irq_disable, 0); |
568 | if (request_irq(phydev->irq, phy_interrupt, | 568 | if (request_irq(phydev->irq, phy_interrupt, 0, "phy_interrupt", |
569 | IRQF_SHARED, | 569 | phydev) < 0) { |
570 | "phy_interrupt", | ||
571 | phydev) < 0) { | ||
572 | pr_warn("%s: Can't get IRQ %d (PHY)\n", | 570 | pr_warn("%s: Can't get IRQ %d (PHY)\n", |
573 | phydev->bus->name, phydev->irq); | 571 | phydev->bus->name, phydev->irq); |
574 | phydev->irq = PHY_POLL; | 572 | phydev->irq = PHY_POLL; |