提交 33c133cc 编写于 作者: S Sergei Shtylyov 提交者: 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: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: NFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册