| From 817b653160db9852d5a0498a31f047e18ce27e5b Mon Sep 17 00:00:00 2001 |
| From: Sven Schuchmann <schuchmann@schleissheimer.de> |
| Date: Sat, 27 Nov 2021 11:47:07 +0100 |
| Subject: net: usb: lan78xx: lan78xx_phy_init(): use PHY_POLL instead of "0" if no IRQ is available |
| |
| From: Sven Schuchmann <schuchmann@schleissheimer.de> |
| |
| commit 817b653160db9852d5a0498a31f047e18ce27e5b upstream. |
| |
| On most systems request for IRQ 0 will fail, phylib will print an error message |
| and fall back to polling. To fix this set the phydev->irq to PHY_POLL if no IRQ |
| is available. |
| |
| Fixes: cc89c323a30e ("lan78xx: Use irq_domain for phy interrupt from USB Int. EP") |
| Reviewed-by: Andrew Lunn <andrew@lunn.ch> |
| Signed-off-by: Sven Schuchmann <schuchmann@schleissheimer.de> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/usb/lan78xx.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/net/usb/lan78xx.c |
| +++ b/drivers/net/usb/lan78xx.c |
| @@ -2128,7 +2128,7 @@ static int lan78xx_phy_init(struct lan78 |
| if (dev->domain_data.phyirq > 0) |
| phydev->irq = dev->domain_data.phyirq; |
| else |
| - phydev->irq = 0; |
| + phydev->irq = PHY_POLL; |
| netdev_dbg(dev->net, "phydev->irq = %d\n", phydev->irq); |
| |
| /* set to AUTOMDIX */ |