[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YwN9CMMhHDxB8mdj@lunn.ch>
Date: Mon, 22 Aug 2022 14:56:40 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Arun Ramadoss <arun.ramadoss@...rochip.com>
Cc: linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
Woojung Huh <woojung.huh@...rochip.com>,
UNGLinuxDriver@...rochip.com,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Vladimir Oltean <olteanv@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Russell King <linux@...linux.org.uk>,
Tristram Ha <Tristram.Ha@...rochip.com>
Subject: Re: [RFC Patch net-next v2] net: dsa: microchip: lan937x: enable
interrupt for internal phy link detection
> +static irqreturn_t lan937x_switch_irq_thread(int irq, void *dev_id)
> +{
> + struct ksz_device *dev = dev_id;
> + irqreturn_t result = IRQ_NONE;
> + u32 data;
> + int ret;
> +
> + /* Read global interrupt status register */
> + ret = ksz_read32(dev, REG_SW_INT_STATUS__4, &data);
> + if (ret)
> + return result;
I don't think you can return negative error numbers here.
> +
> + if (data & POR_READY_INT) {
> + ret = ksz_write32(dev, REG_SW_INT_STATUS__4, POR_READY_INT);
> + if (ret)
> + return result;
Returning IRQ_NONE here seems wrong. You handle the interrupt, so
should probably return IRQ_HANDLED.
Andrew
Powered by blists - more mailing lists