[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <201312202209.04333.sergei.shtylyov@cogentembedded.com>
Date: Fri, 20 Dec 2013 22:09:04 +0300
From: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
To: netdev@...r.kernel.org
Subject: [PATCH] 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@...entembedded.com>
---
The patch is against DaveM's 'net.git' repo.
I recommend pushing it to the stable kernels as well.
drivers/net/phy/phy.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
Index: net/drivers/net/phy/phy.c
===================================================================
--- net.orig/drivers/net/phy/phy.c
+++ net/drivers/net/phy/phy.c
@@ -565,10 +565,8 @@ int phy_start_interrupts(struct phy_devi
int err = 0;
atomic_set(&phydev->irq_disable, 0);
- if (request_irq(phydev->irq, phy_interrupt,
- IRQF_SHARED,
- "phy_interrupt",
- phydev) < 0) {
+ if (request_irq(phydev->irq, phy_interrupt, 0, "phy_interrupt",
+ phydev) < 0) {
pr_warn("%s: Can't get IRQ %d (PHY)\n",
phydev->bus->name, phydev->irq);
phydev->irq = PHY_POLL;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists