[openwrt/openwrt] ramips: mt7620: handle request_irq fail in gsw ethernet driver

LEDE Commits lede-commits at lists.infradead.org
Thu May 11 18:24:53 PDT 2023


ansuel pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/7f54fa575b33d266f91f67dbb9a0c2c0af7aca7e

commit 7f54fa575b33d266f91f67dbb9a0c2c0af7aca7e
Author: Christian Marangi <ansuelsmth at gmail.com>
AuthorDate: Sat May 6 22:38:42 2023 +0200

    ramips: mt7620: handle request_irq fail in gsw ethernet driver
    
    Handle return from request_irq in gsw ethernet driver.
    Fix compilation warning:
    drivers/net/ethernet/ralink/gsw_mt7620.c: In function 'mtk_gsw_init':
    drivers/net/ethernet/ralink/gsw_mt7620.c:236:17: error: ignoring return value of 'request_irq' declared with attribute 'warn_unused_result' [-Werror=unused-result]
      236 |                 request_irq(gsw->irq, gsw_interrupt_mt7620, 0,
          |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      237 |                             "gsw", priv);
          |                             ~~~~~~~~~~~~
    cc1: all warnings being treated as errors
    
    Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
---
 .../linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.c  | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.c
index 615544cb17..84b6e305a4 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.c
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.c
@@ -197,6 +197,7 @@ int mtk_gsw_init(struct fe_priv *priv)
 	struct platform_device *pdev = of_find_device_by_node(np);
 	struct mt7620_gsw *gsw;
 	const __be32 *id;
+	int ret;
 	u8 val;
 
 	if (!pdev)
@@ -233,8 +234,12 @@ int mtk_gsw_init(struct fe_priv *priv)
 	mt7620_ephy_init(gsw);
 
 	if (gsw->irq) {
-		request_irq(gsw->irq, gsw_interrupt_mt7620, 0,
-			    "gsw", priv);
+		ret = request_irq(gsw->irq, gsw_interrupt_mt7620, 0,
+				  "gsw", priv);
+		if (ret) {
+			dev_err(&pdev->dev, "Failed to request irq");
+			return ret;
+		}
 		mtk_switch_w32(gsw, ~PORT_IRQ_ST_CHG, GSW_REG_IMR);
 	}
 




More information about the lede-commits mailing list