From nobody Sat Jul 25 16:51:29 2026 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (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 2837B3B95E9 for ; Wed, 15 Jul 2026 22:30:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154627; cv=none; b=YDFbQyK2s/9mAfWKWqa9ytAhSdXtu9iWZwS3u+t2J0Wlp4ceeCVnbeV5gPt0uUAERq4RywXHmqHnRa02elC/P86twUd4/MxL513Rv3aTPKHtlrPV412XH0J5anlcJ3GzHn7rCPdDpf23xnCu4zlxgZVKNkPmOF7kD+PZA/luEEA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154627; c=relaxed/simple; bh=hR7PWAXiXwEEwFIet49TpDy0cQALd3XIah84ihqGwyo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZUP//q/oF3+iR0aW3PPzqDgSF6mlLOQ+bzayOtbWGyXsvJKz7F5bmgaUHjjgzY02oSXcuiieqoXKWWRLNTCxVVes94XwifOUcZP8IgpKWDifYKzrCbHMh/LR6B6PPGammc6OmcfUq8SrzcOWXnxahQt32VsZMJJ4hy6/EuVun8Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hMOVTl/s; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hMOVTl/s" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-493c7902f47so48675265e9.1 for ; Wed, 15 Jul 2026 15:30:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784154624; x=1784759424; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=G4ripfAJqWHIXdYXUM5+uu7AjPtdQOgQwww925KypIE=; b=hMOVTl/s1GCb1jmAoqpSGG1IP95cd2y4F+1Srj+2Zz57cayLKBmMkL3y/VbvuT/yGQ 9vd3E4YqOyVw/ZRkTG7tefZWlAFzG5H+wRkdl0amvJPrD+YWTpcK9CZr42ERipetzVgO YXAQMdo1H2nTIRDu11xSL60ynNmKla3ss11Kz+9Vmv4iszaYqeaRysJHN15s/iwDccYl ts8g/WaIPHfu4SGY6fueTLRybmzrwrscGy4rSgMREO59TI3LSe01Tvmb5DASpOPUJmWE olCohkhTDVHwnQDLHCHpDpQuFZn9T7xQbkboP925/ZxfQ9yJ+GFo7AloRaa5mhbVIOYM UPAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784154624; x=1784759424; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=G4ripfAJqWHIXdYXUM5+uu7AjPtdQOgQwww925KypIE=; b=idW2OsMxGKK4Mcw2qDPEF2BofBrDin/HKKvVffRtJ9lpxLi4MmLMuV/4rI5+8ajqxI NMRslsNmgv99Ilnqv9bv44grOcG1EQkogd1mvcx1UHTsVrToMSHtc9s9fAC+4Lqr7ONL lAfiWGQtbcDCMljQoBQPkmYM43Ut8DJqZWPeagYY6pTgaIGxt4IsBVgwpSS7LZi7D9Pb n6jyS7dEzrJo2nP1q1c1vgYg1x8SnGpsieOweY2hSmzdnu0ASf7ATVsE3znI6PnH9Zk8 NRobogKsNDFdh5JLRbTJ+tuOJfAZas8kTiuVGhv4Tt+iavnZID/LPywNCxXN4CX6I5tw 5QOw== X-Forwarded-Encrypted: i=1; AHgh+RrYWeTgK+zqV9ThUwGACLN853lvIlyT+mONWernzdKblr2maBTLxV0N8SKaA7osRfeqaIqT0U2qHei/rv0=@vger.kernel.org X-Gm-Message-State: AOJu0YwFkSdvjrxGjL5yP9Svd8nFTbraZmU+AD4NsNsfHbS19kdve/yj jmpNWsnB8VBjOIWvHa9czvFSBZ+97WSLeL6yXZhLloKhbiB1KptDDM96 X-Gm-Gg: AfdE7clguc/LO+RwIRfV+T9Jpfv4q79h6wogSipA+bsyuKR7Jv+zLLPz3hdGr4H45EG snVQAi4+ZxWP/32tzbPz06X7dru6Kv9zZ1OTgIsL0u+y+6hEFAIFueceYOiedKn8B72781pm4lJ poxN05mft2zuSV09sDiyLvlAwEIDEP0oMYN2ASWZpfgeVk31zqAfCVss2pnB4V5fCm8GhTw2EZu x/T6aKy2f4IBbtL08oHzwBGHI/BF6w8359WjfVfNi7f3AD6tb3D0TRs8LtWub9LRoPXx+VkJJqz ZG4Xo+/nucQpOEN7q6PtRE/wiKqyH7faZTOlI1iOHPVHpD9c+qY+1VSHe6n/VdDMtPPjSQzcVBI PSHrm9MlmL2imW5tdzOVGT5K/Dn3lNKGXl0A/+EE7zLgOH5AL5fi9iTFYsJGlnNHiB9F8eEWv8E uf2HxGrXQ3kKWm3d8OlHmjMoNi8TNSFXQV2hqtE0ltk+se3YYffRCmQTT/JRIlOMbj5MeD4dwi6 ELzR7/mUDo/zXiBF30AONEXpHE= X-Received: by 2002:a7b:c38b:0:b0:493:c4e1:40a6 with SMTP id 5b1f17b1804b1-4953c28b6bdmr37737615e9.32.1784154624276; Wed, 15 Jul 2026 15:30:24 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:6d4f:b160:7aea:9d1b]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49541e9ee07sm14791025e9.15.2026.07.15.15.30.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 15:30:23 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Claudiu Beznea , Manivannan Sadhasivam , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Lorenzo Pieralisi , Rob Herring , Bjorn Helgaas Cc: linux-pci@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar , stable@vger.kernel.org Subject: [PATCH 1/3] PCI: rzg3s: Disable refclk on probe failure Date: Wed, 15 Jul 2026 23:30:17 +0100 Message-ID: <20260715223019.3002237-2-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260715223019.3002237-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260715223019.3002237-1-prabhakar.mahadev-lad.rj@bp.renesas.com> 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" From: Lad Prabhakar rzg3s_pcie_host_init_port() enables the PCIe reference clock using clk_prepare_enable(), but if rzg3s_pcie_probe() subsequently fails, for example because pci_host_probe() returns an error, the probe error path only releases the clock handle with clk_put(). Balance clk_prepare_enable() by calling clk_disable_unprepare() in the probe cleanup path before releasing the clock, ensuring the reference clock is properly disabled on probe failure. Fixes: 7ef502fb35b28 ("PCI: Add Renesas RZ/G3S host controller driver") Cc: stable@vger.kernel.org Signed-off-by: Lad Prabhakar Reviewed-by: Claudiu Beznea --- drivers/pci/controller/pcie-rzg3s-host.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/controller/pcie-rzg3s-host.c b/drivers/pci/control= ler/pcie-rzg3s-host.c index a1a78bdb7af1..01488660ab08 100644 --- a/drivers/pci/controller/pcie-rzg3s-host.c +++ b/drivers/pci/controller/pcie-rzg3s-host.c @@ -1897,6 +1897,7 @@ static int rzg3s_pcie_probe(struct platform_device *p= dev) return 0; =20 host_probe_teardown: + clk_disable_unprepare(host->port.refclk); rzg3s_pcie_teardown_irqdomain(host); host->data->config_deinit(host); rpm_put: --=20 2.54.0 From nobody Sat Jul 25 16:51:29 2026 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 E21FC3D522F for ; Wed, 15 Jul 2026 22:30:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154628; cv=none; b=kdEW+u2AMrED6VP5vRQxrHi4NyVMmtFdUT8BvcBUznIx0BMdEhV0+06MD7swQD576nf51j6ESPNw6Yjr7UlhfwMG2lOB4DSjduWcbbG+78Ml5fjCZN+LKnA1c+VpekMxhT4tHf4CVYZXu9ZXmWnWxyoEagIiQkvqZfBn1uHpIiI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154628; c=relaxed/simple; bh=EgzVoeiVIyluF+6tG2YQ8PKK7ioQwBY/YfGkht25UGU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=M0aZXus9P4E5Auy46YPOLejZQzHcXb+Y3mMtohPckAcOCoBCJQpgJy7n/V7lCI047j3xegsGk/9Ry/PMmVsIIgGZXi6JcDq0xCG/uMZG+o23XlKU3/gobwDdtNUi/IBYTGSN/eIv6v8W0l5Cy6R/zdEJ1mKy932BpPmQ90Mxa4A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=O4qqFVo9; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="O4qqFVo9" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-493ece78b0cso41664395e9.0 for ; Wed, 15 Jul 2026 15:30:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784154625; x=1784759425; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=cEtteLgNckAc3Sa7DEqz8fG/qXrLZDXlp2czTWgh+CU=; b=O4qqFVo93xk9Ja+6Q64ES1sd9MaEQ4U+pGCi6MevCYQkGgZlEsp4xTsV35DPB/Alzf o3AK0DLCNYU+1NrB1hwi8izUPrJrdhMny+h+6yE3RKHpwRdOlStw9yjcBdV2woWbyrsv dZPpjMhAoMkZNUV79OzuH3pd87QQ+M8QzFzcc76BG/W7J9rfKfNziaafsmKshLaolCjV 4UCAQ0LD+BuNiK4vVsRyKeMznPKT0iclSF98xp6qhocNfts5vhTAL8QxWnfKTfV0UX3x sIzNCZ9TCkgs1fBGvT3XRS90i5XAlpC5Na3FqR7dTwlU6MjAMb56FGv8q8Th2CQgqAW/ D2VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784154625; x=1784759425; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=cEtteLgNckAc3Sa7DEqz8fG/qXrLZDXlp2czTWgh+CU=; b=Eu0fST9nuUQ9zgFdSZsJ+wuZDKAsmbU/l79ivzLApdJG2bqHY5NFF+B3HqvvoV4PJ7 0zNkDyv1U97eBXs7KiPEkAXSRgIg1bSmclPCOQRQmuNLvZhIjTKzR+W4jYRpR8FIcTQU 9r2W03fjT6jn3TLUQuNwWFkuvrOhwAwaihEbFXY9czjvhazvkWp/8KcyvweFkhA6GKJx glnP76d/RA/eLzqGQ1MXVKJ9bhS3Nk+Fh+9JwQ3wf4/ry5RCvcT22vAsweDl+3yeur9C AcUXsV1UnR2sxMCH0FuzJO3es5gxN2cx4/RNI/jqilBVZr4JjpIWIzeO9loeSrT4N8LZ mF6Q== X-Forwarded-Encrypted: i=1; AHgh+RqcllxnPjD+FeKGZC7KyjCpQhHQ0RaK/6JX9RzS4GCkkymIedwZDMsDh6Gstiu+tXmcuymzeJmmegD2vMU=@vger.kernel.org X-Gm-Message-State: AOJu0YztsJaFO9C3TvNB/yzwbrY98eVu3Wpcjc4p01oQCqDkG3l5fQ3I e/8A0UexpPpr7J0zJPEkl9zKbcLpMAwuSrU9e5SN8VmpW3mVDx4RkFUu X-Gm-Gg: AfdE7cmos9nOdbysbAzOalvx/7JBxTgWz2hFCaeXGny9n5bLW9RKtAnZZFjBYCVJKGN ipPviKVNpaFWQyKA2v+m42mXuZLfve88zNePruoakHVoYu1xBaZ7wOcAJ3BUWPiLK4RQeGU5ahz iJLAzKd/b5+qT66EFDMBj+Ny0U6Vnhb72OTaLznOqLNIG77kBkp9ZZrSK8gJHgQgsqy31aBHuZy lEqRlP+i7EJBBKmDGyX9BFxsYdONCiDXwKhoIBBgjjEu4PPanf6Z1YinNyQdQeO54t9yFZqsdi4 pCxkY3B4w4voKbM96pgnTL3hY7XhkPhOwa6UBoJHGCy4WUV1oA9dxx78iW8Rqt5D2PKM3+fj3rv vlPW14RZd5ZNMjhqdP8cAGinP4cSA4zktjYoEkrWjXi+ZafXvGax9KHyTDopRmuOl1cUM7ScB2N +sJrqAhMGnamUXC82kIc/DjcZH9N6dnaE7aXL1WN5kjyb+LRG5WsX6ysf46qDHjW6X+/70phzzt zxIOql+t9Yd8VHR X-Received: by 2002:a05:600c:4e53:b0:494:282:106c with SMTP id 5b1f17b1804b1-495158db293mr109153435e9.16.1784154625107; Wed, 15 Jul 2026 15:30:25 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:6d4f:b160:7aea:9d1b]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49541e9ee07sm14791025e9.15.2026.07.15.15.30.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 15:30:24 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Claudiu Beznea , Manivannan Sadhasivam , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Lorenzo Pieralisi , Rob Herring , Bjorn Helgaas Cc: linux-pci@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar , stable@vger.kernel.org Subject: [PATCH 2/3] PCI: rzg3s: Propagate platform_get_irq_byname() errors Date: Wed, 15 Jul 2026 23:30:18 +0100 Message-ID: <20260715223019.3002237-3-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260715223019.3002237-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260715223019.3002237-1-prabhakar.mahadev-lad.rj@bp.renesas.com> 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" From: Lad Prabhakar platform_get_irq_byname() may return specific error codes such as -EPROBE_DEFER, but rzg3s_pcie_init_irqdomain() replaces all failures with -EINVAL. This breaks probe deferral by preventing the driver core from retrying probe once the interrupt provider becomes available. Propagate the original error code instead. Fixes: 7ef502fb35b28 ("PCI: Add Renesas RZ/G3S host controller driver") Cc: stable@vger.kernel.org Signed-off-by: Lad Prabhakar Reviewed-by: Claudiu Beznea --- drivers/pci/controller/pcie-rzg3s-host.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-rzg3s-host.c b/drivers/pci/control= ler/pcie-rzg3s-host.c index 01488660ab08..f51b5d7c1998 100644 --- a/drivers/pci/controller/pcie-rzg3s-host.c +++ b/drivers/pci/controller/pcie-rzg3s-host.c @@ -1019,7 +1019,7 @@ static int rzg3s_pcie_init_irqdomain(struct rzg3s_pci= e_host *host) =20 irq =3D platform_get_irq_byname(pdev, irq_name); if (irq < 0) - return dev_err_probe(dev, -EINVAL, + return dev_err_probe(dev, irq, "Failed to parse and map INT%c IRQ\n", 'A' + i); =20 --=20 2.54.0 From nobody Sat Jul 25 16:51:29 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 C5E8C3D5661 for ; Wed, 15 Jul 2026 22:30:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154629; cv=none; b=JYb/FU9tfnS69Qy4cbMjghzo/6QTnLRRvWCC8o/ej10RTW7dkGapR7zJHcoXZLBEtB9alydgZyWitEmHCBnhZHVJ8HbFeSq+Ng08mecsJUU9nPwKY5K+mY6AOprCI3jo2IPmbilVsIeJu2nw1sIO0l8gtCp7z4FZ9Pgi9c+rBro= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154629; c=relaxed/simple; bh=iG8DxBgPeFTS2wD34Yri/ahbMlagck2D5bkaD14Nv00=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VkS8Dqz8OF73JnepRWzakushQ9pPh0xeAXjpAWa1hhy3yCkf1QMjhtd9xhhBUwGwjh7roqVdEsQk1AOWBP0/v3M5y5wrrZJY04oRzL3W/P08VzS5GFvH9vTrlblW4WG7jlTPTE2Ys7PF2I0JYs+2F6dAxaQ4W+ZfpwoRix7aaFc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BGSczuAz; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BGSczuAz" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-493bb510ce4so40884875e9.1 for ; Wed, 15 Jul 2026 15:30:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784154626; x=1784759426; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=6z5e6ZRDnBIxpo0diHIfK/ZsB3aIEtSkbb+xJwPFfww=; b=BGSczuAzLxnKTwETEr+ztgpd+WHtgkeTzKMRtydSQA/2KfC24VwXNZj9MAOyA22r/4 Rsk7HXUjDJggdcMDiTKmXQcFXRimSAZmnAB/+ghDaONfxKXAE3aiwuClcBQR6ZQVHu6O GjQxWekXehyOzV4anp6kixg1lwu1PL2BaUWa3Is9GImkoHcnk2WP2jc460HgIAFs4Uj+ yO0GFaO22+y5fPykEYq6ffnW8W60hYho425S+VepTfKyZlUKIEUtvpPem6gKQdvUeDYx HqBgTrldZRfZUiwvxThWoZ8ST4RJhbwPRokv2+sNQP6gaBJZ5LPFfnCEyKo3fOVJuK8m 0CqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784154626; x=1784759426; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=6z5e6ZRDnBIxpo0diHIfK/ZsB3aIEtSkbb+xJwPFfww=; b=PQWokOJlKwsdi6dysxW6Q7zY0qPwCZm48UEEelf5C2S2UZBlZOYYoKtbfBfaButxwO Lrm6D3nfQTJx0iwdvfOBnSn3Gkg/C7nlXukVF9eTwmrvG3ILDfg4BuDnDhPfXTexlIlv ZHv7h6UoL4Z52EU9dIEPU1Thl/Lh7/Oe8u2YQWHPdBlNkqOgRZrkOBZ+ho6p3lVfy2Pf BwlgZH3mzq8ISQa8obERMbFAhR4QZaLMjpjw/IfNpPFs9o45EO86pwWO61utenDlZ4/K /vWWHe1WTqJmbB+SaTYWTr3hdDl8VwsrDsVzA5chmZ7NaKf6eBsivEg3fSmrDvgOChdb XqGQ== X-Forwarded-Encrypted: i=1; AHgh+RqFubLkGMkV0tc5f2U7FkzczwicVbTHBhQ1Toratkxui7ROELIE+8AfpNb70574u+dYhokVUFWVWIuBUKk=@vger.kernel.org X-Gm-Message-State: AOJu0YyPN/XGipKR2aEwDHcz95EtUjM2VYKpOCizclYsPmxSdmAsOLkx Bcm6Ia0LzV4nEkoVd1LceHZSuvRWfIXBDw5bI8GeVOesW0c5JLI0K99k X-Gm-Gg: AfdE7cmNTpssALmJA9G5Jj3dszKxzdePxFnsTlJXvPDtdIPMzDQRmKVqgI9l/0TgtSA S8tiobwnqT3nRnuueLRL6y+t86WuPKTTPLxXCb7QFGFZeJnjBtTxkRpPUCFwCC0e47ycy6QlF5f K5yHWfnpNPHB7rYyf8mSJLX5dirmcOJ/ZzY1XV+9S7/tgmwPvEU1BB6areUMkFBuGx17GTbXWLx ckSFnQdZKuNKMKv3X/Qv9AMxpbuJ+6YysTCg+ewVPPSRwBF0y6P9DXydkLYd6hMKKDZmtIxlJJg 6qDsj0T6++NGZkfSCWOVwXW6u74Qpj+9oFgfIUFJ0RA/lHDbMUz3FSJkmwoi9F98BWhjNv+eYHX j9G38DvSjl+auWjH6UqbUQ9P1nBjpRLokWEw9KlGI9prI5/QMtxK/5CX+r2B0JxUqw0b1DiEDKr N/zFIvomfFSx6aDh0rtBCqby46x+S6yKt6mSCqtVsczG0rt25njo8O9T9PUgkL29polYZgujg6c B06lo3m5NNAy56v X-Received: by 2002:a05:600c:1d1d:b0:495:3b66:580e with SMTP id 5b1f17b1804b1-49541c5dfc0mr6927505e9.32.1784154625853; Wed, 15 Jul 2026 15:30:25 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:6d4f:b160:7aea:9d1b]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49541e9ee07sm14791025e9.15.2026.07.15.15.30.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 15:30:25 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Claudiu Beznea , Manivannan Sadhasivam , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Lorenzo Pieralisi , Rob Herring , Bjorn Helgaas Cc: linux-pci@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar , stable@vger.kernel.org Subject: [PATCH 3/3] PCI: rzg3s: Fix IRQ domain initialization error handling Date: Wed, 15 Jul 2026 23:30:19 +0100 Message-ID: <20260715223019.3002237-4-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260715223019.3002237-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260715223019.3002237-1-prabhakar.mahadev-lad.rj@bp.renesas.com> 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" From: Lad Prabhakar rzg3s_pcie_init_irqdomain() installs chained handlers for the INTx parent interrupts before creating the INTx irqdomain and initializing MSI support. If any subsequent step fails, such as obtaining an INTx IRQ, creating the irqdomain, or initializing MSI, the error path returns without removing any chained handlers that were already installed. This leaves stale handler and data pointers attached to the parent interrupts. Fix the error path by unwinding the chained handler registration before returning. Also clear the chained handlers during rzg3s_pcie_teardown_irqdomain() so that teardown fully mirrors the initialization sequence. Fixes: 7ef502fb35b28 ("PCI: Add Renesas RZ/G3S host controller driver") Cc: stable@vger.kernel.org Signed-off-by: Lad Prabhakar --- drivers/pci/controller/pcie-rzg3s-host.c | 37 +++++++++++++++++------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/drivers/pci/controller/pcie-rzg3s-host.c b/drivers/pci/control= ler/pcie-rzg3s-host.c index f51b5d7c1998..5aeb030d43c8 100644 --- a/drivers/pci/controller/pcie-rzg3s-host.c +++ b/drivers/pci/controller/pcie-rzg3s-host.c @@ -1006,22 +1006,30 @@ static const struct irq_domain_ops rzg3s_pcie_intx_= domain_ops =3D { .xlate =3D irq_domain_xlate_onetwocell, }; =20 +static void rzg3s_pcie_clear_intx_handlers(struct rzg3s_pcie_host *host, i= nt count) +{ + while (--count >=3D 0) + irq_set_chained_handler_and_data(host->intx_irqs[count], NULL, NULL); +} + static int rzg3s_pcie_init_irqdomain(struct rzg3s_pcie_host *host) { struct device *dev =3D host->dev; struct platform_device *pdev =3D to_platform_device(dev); + int i, ret; =20 - for (int i =3D 0; i < PCI_NUM_INTX; i++) { + for (i =3D 0; i < PCI_NUM_INTX; i++) { char irq_name[5] =3D {0}; int irq; =20 scnprintf(irq_name, ARRAY_SIZE(irq_name), "int%c", 'a' + i); =20 irq =3D platform_get_irq_byname(pdev, irq_name); - if (irq < 0) - return dev_err_probe(dev, irq, - "Failed to parse and map INT%c IRQ\n", - 'A' + i); + if (irq < 0) { + ret =3D irq; + dev_err_probe(dev, ret, "Failed to parse and map INT%c IRQ\n", 'A' + i); + goto err_cleanup_intx; + } =20 host->intx_irqs[i] =3D irq; irq_set_chained_handler_and_data(irq, @@ -1033,21 +1041,28 @@ static int rzg3s_pcie_init_irqdomain(struct rzg3s_p= cie_host *host) PCI_NUM_INTX, &rzg3s_pcie_intx_domain_ops, host); - if (!host->intx_domain) - return dev_err_probe(dev, -EINVAL, - "Failed to add irq domain for INTx IRQs\n"); + if (!host->intx_domain) { + ret =3D -EINVAL; + dev_err_probe(dev, ret, "Failed to add irq domain for INTx IRQs\n"); + goto err_cleanup_intx; + } irq_domain_update_bus_token(host->intx_domain, DOMAIN_BUS_WIRED); =20 if (IS_ENABLED(CONFIG_PCI_MSI)) { - int ret =3D rzg3s_pcie_init_msi(host); + ret =3D rzg3s_pcie_init_msi(host); =20 if (ret) { irq_domain_remove(host->intx_domain); - return ret; + goto err_cleanup_intx; } } =20 return 0; + +err_cleanup_intx: + rzg3s_pcie_clear_intx_handlers(host, i); + + return ret; } =20 static void rzg3s_pcie_teardown_irqdomain(struct rzg3s_pcie_host *host) @@ -1055,6 +1070,8 @@ static void rzg3s_pcie_teardown_irqdomain(struct rzg3= s_pcie_host *host) if (IS_ENABLED(CONFIG_PCI_MSI)) rzg3s_pcie_teardown_msi(host); =20 + rzg3s_pcie_clear_intx_handlers(host, PCI_NUM_INTX); + irq_domain_remove(host->intx_domain); } =20 --=20 2.54.0