From nobody Fri Apr 3 10:24:44 2026 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3378432BF44 for ; Tue, 24 Mar 2026 09:35:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774344957; cv=none; b=BZHWuGeoqj+Tpa/G6V69qHBEMm9Kl5wl9SwUhu6VF7JOPP27AV1dYR7BRAnpqDl6gNI93Yoef3tYbi91+Ssvu/7QSroGrz6dFKuWxISZzIzbKHnHhLHb4RhHVjEp6CTd//q+gdwakiv41MhGNkMrl6zv0Fcj7xzj2NBu34WxJuE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774344957; c=relaxed/simple; bh=7CAaYJuR45ZASJTU0EHeJkaCKmoj1cVH0wx7SlCT+eE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=UeIwsP2Ge6cLlPXBBxQ0g/R7ZmaP3H7RapQ7/DsQSJtH6azH3NExfhSfPDPuzMOfVxkNgzLZzDhNUw532bbwV6jYAM1k7S36ja1bptzEGz5vbxm1ue1kaxnjKkrc/lO4i+UaiS8fqRCzS/9E8UoCBQDVWh2y7tK15lNNyjyR+88= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=bXitWiRT; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="bXitWiRT" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2b042533de1so26173575ad.0 for ; Tue, 24 Mar 2026 02:35:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1774344955; x=1774949755; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=0wNRdSzAgBmj3W1HLVnK+M5XPg8WJUDMQukRyAUFTZY=; b=bXitWiRTa80rajVMeNmzY3z/8BPgO8spRvNAKKN6DXnJaQn6ZZNcpHjtoprhqE4ZpW E+9Q+KgjTbwNcnnvNdXPP0Uioz+2/nrBXXzv6KqHpuzUAc9eqaWTgHbFpMKTS+ZX9xIw V/+gkeoah8v8FfwBiM1raz6J/Z5rx22tS9UeY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774344955; x=1774949755; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0wNRdSzAgBmj3W1HLVnK+M5XPg8WJUDMQukRyAUFTZY=; b=tJjyjZ/icw+G/0If5xx4IkcaaWQz/jkUiq6DF3pnwQxmZWNzwJn56T4Fo06QnlxMA1 3GshjSFQIpUgbsMsgY4YtzrxpDpZmnygRNsvI4vhRoTxgAsXL2xhcBYDV3y/CNZc8OKI wlCdkQLIi1lIrD6Wo3teU3Oe/WEHRqoou9A5N+XXLMaR0vF4unp6aORfRfCz+1oDAPeJ 76um7+5qYiM67pK6+T6U+aArJcI+IYbTDUVVnxMMnhtxFpdRdqWxD8Vk/+1x+2vMxhf7 lp9anekx7gT5Jaj5DR+jqNR1eBqVtPci3Tlz7t3WAm6zIf2Vbv4P2210SbYdgjmn0tDu ZHxQ== X-Forwarded-Encrypted: i=1; AJvYcCXmErBnDHRly+QAIfFJK1i+RWeduvQBI1nd9b/JLbQ7Dui9MBJFRHiDyhjE5wvnLVCBIcFqg+HGzKXeLUY=@vger.kernel.org X-Gm-Message-State: AOJu0YzQEiuvDL9FacVk6SNNRBDiDaP5Dcn9iGAx6zD0rxFeOlnLBeGh EmiTDI5AUbPQWbWUuU+oCT8YpWlk17sK9HpxZYOkUAXvaqXFgyz/gKRt2n7SStJ/UQ== X-Gm-Gg: ATEYQzzL/qXDTxprEiJIFh4EGVfoEqlCg8zR2f6RQW3wFGzHQJ75iqd5I5RhMNQscY5 0+RuOryroECDfUBTio5z8lvurZ3aViSEHDqOEelQs1/64PfdevsQRgsWy6gv5eqV9CGt+OadTEl YQbI8qWGCcNmcT1VvM9GP6umYrjZZr/5RBU3bGrze5ZBybkzhYOPLHTWuGCmqC/XHToEwlcfxWA U/hsR7+jWBtMQ7zqa3kWGRhUkI6ud+6nx67h23hu6UkL/ygYsxp1Ena8nTZYcpwMcUv85wAa6m1 04w2OQ7Uoasbli0VkEOveYc8RXeijEXXw+vgdGdQXYk4jLRJcLlEVByse/PvJ61eQp7etBtLyBK 19Ss6dhUmQjjcVrKKMlvcH++DCeYOIvDnLH7hCmOIj/h6qfS2fXpTQj7UnF7besYmTZPqBB1035 ThbcQlYA4LYhDKXNQrflz4/hkJQ4dTNSnlsdZsnougjJ7kFcvFhkFPj/kqKX2iUBsR15bfF8J3n mpoLcx2 X-Received: by 2002:a17:903:2288:b0:2b0:5548:7d84 with SMTP id d9443c01a7336-2b08280c1ffmr147273335ad.48.1774344955576; Tue, 24 Mar 2026 02:35:55 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2a00:79e0:201d:8:19a5:8f2f:d584:8078]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b083679867sm163785785ad.65.2026.03.24.02.35.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 02:35:55 -0700 (PDT) From: Chen-Yu Tsai To: Matthias Brugger , AngeloGioacchino Del Regno , Ryder Lee , Lorenzo Pieralisi , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas Cc: Chen-Yu Tsai , linux-pci@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] PCI: mediatek-gen3: prevent leaking IRQ domains when IRQ not found Date: Tue, 24 Mar 2026 17:35:41 +0800 Message-ID: <20260324093542.18523-1-wenst@chromium.org> X-Mailer: git-send-email 2.53.0.983.g0bb29b3bc5-goog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In mtk_pcie_setup_irq(), the IRQ domains are allocated before the controller's IRQ is fetched. If the latter fails the function directly returns an error. Instead, reverse the order so that the IRQ domains are allocated after the controller's IRQ is found. This was flagged by Sashiko during a review of "[PATCH v6 0/7] PCI: mediatek-gen3: add power control support". Link: https://sashiko.dev/#/patchset/20260324052002.4072430-1-wenst%40chrom= ium.org Fixes: 814cceebba9b ("PCI: mediatek-gen3: Add INTx support") Signed-off-by: Chen-Yu Tsai --- This was flagged by Sashiko during a review of "[PATCH v6 0/7] PCI: mediatek-gen3: add power control support", but is otherwise unrelated to that series and can be merged independently. drivers/pci/controller/pcie-mediatek-gen3.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c b/drivers/pci/cont= roller/pcie-mediatek-gen3.c index a94fdbaf47fe..2f9365930d6a 100644 --- a/drivers/pci/controller/pcie-mediatek-gen3.c +++ b/drivers/pci/controller/pcie-mediatek-gen3.c @@ -890,14 +890,14 @@ static int mtk_pcie_setup_irq(struct mtk_gen3_pcie *p= cie) struct platform_device *pdev =3D to_platform_device(dev); int err; =20 - err =3D mtk_pcie_init_irq_domains(pcie); - if (err) - return err; - pcie->irq =3D platform_get_irq(pdev, 0); if (pcie->irq < 0) return pcie->irq; =20 + err =3D mtk_pcie_init_irq_domains(pcie); + if (err) + return err; + irq_set_chained_handler_and_data(pcie->irq, mtk_pcie_irq_handler, pcie); =20 return 0; --=20 2.53.0.983.g0bb29b3bc5-goog