]> git.baikalelectronics.ru Git - kernel.git/commitdiff
smsc911x: allow using IRQ0
authorSergey Shtylyov <s.shtylyov@omp.ru>
Mon, 2 May 2022 20:14:09 +0000 (23:14 +0300)
committerJakub Kicinski <kuba@kernel.org>
Tue, 3 May 2022 23:57:33 +0000 (16:57 -0700)
The AlphaProject AP-SH4A-3A/AP-SH4AD-0A SH boards use IRQ0 for their SMSC
LAN911x Ethernet chip, so the networking on them must have been broken by
commit 40d6b59f243c ("net/smsc911x: fix irq resource allocation failure")
which filtered out 0 as well as the negative error codes -- it was kinda
correct at the time, as platform_get_irq() could return 0 on of_irq_get()
failure and on the actual 0 in an IRQ resource.  This issue was fixed by
me (back in 2016!), so we should be able to fix this driver to allow IRQ0
usage again...

When merging this to the stable kernels, make sure you also merge commit
f9ecb1c20386 ("platform: don't return 0 from platform_get_irq[_byname]()
on error") -- that's my fix to platform_get_irq() for the DT platforms...

Fixes: 40d6b59f243c ("net/smsc911x: fix irq resource allocation failure")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Link: https://lore.kernel.org/r/656036e4-6387-38df-b8a7-6ba683b16e63@omp.ru
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/smsc/smsc911x.c

index 7a50ba00f8ae30dc8ed6a2e0d54145e4259af94e..c854efdf1f25fe372850e20eeb588428f74d5df3 100644 (file)
@@ -2431,7 +2431,7 @@ static int smsc911x_drv_probe(struct platform_device *pdev)
        if (irq == -EPROBE_DEFER) {
                retval = -EPROBE_DEFER;
                goto out_0;
-       } else if (irq <= 0) {
+       } else if (irq < 0) {
                pr_warn("Could not allocate irq resource\n");
                retval = -ENODEV;
                goto out_0;