From nobody Fri Apr 3 17:38:35 2026 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.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 C14CC2E6116 for ; Tue, 24 Mar 2026 05:20:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774329634; cv=none; b=pvSVoEZttqhGa5C7YCJK+Ox2MCjkIvllMrMVXSxI/gR6BTtaxngP+BmzK+vr8GdUQTVzasOHeVwWmfbQWWrcRsUfha54mT+osBVMHQIqfHRLenefl5MTU+jP0wVe5chxLlv6Qr/TTcMsBAw1F6rmKnGaTOK60ax+npa3N9+jUU0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774329634; c=relaxed/simple; bh=B9OvoSLl+ADp923M20OOIo0J0s8S2OqvmiGPQXQYOfE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Q88hP38CFXQeQrNkUZkAiUkKz+ufqlmyADcecEZA2+W6NeKVl2MJq7gvyli2uRlLs6AdxhaX0O6yVhKfgJ3M7jNkO64CHrrDKcQTXbPYvBTfwbuJtqygQoLCrc1QPc/XtscnhRZdwh8MFitqRtW7e2zolW2GlyIJKQ+B4L7MMjM= 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=Pn0cj5b2; arc=none smtp.client-ip=209.85.216.50 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="Pn0cj5b2" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-35ba2ae4df3so2427036a91.2 for ; Mon, 23 Mar 2026 22:20:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1774329632; x=1774934432; 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; bh=GfQ3i6n0srgdKQ5C4/oS1IhFvqnwaDhA6rAMXlkp0g8=; b=Pn0cj5b2jmi3da3lkZpwRVuvtX7lzDPKfmOg0Th5Bwx+kjTfZ5iFAM2mX99jN63TpI E0Lwujyf9oIGr4kXZeau/ID9vgHxCoGeWYnYWT15/lYS5j8+H3DT1c4hS2Gc64RYytdQ +qL8Xe5SnRWJVX1oCTTBdkjT3TO84d4dlMiLg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774329632; x=1774934432; 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; bh=GfQ3i6n0srgdKQ5C4/oS1IhFvqnwaDhA6rAMXlkp0g8=; b=AcmI39hwqGx4lYVJxOE55K1CUKxjcEPsuh17N6gYmSq1DZA5b55YODjrY1O0H86DuC AYgPeIXH78l8/sj9Sl4PNJQZ92YeUunFmbs2nAv26v4+xgSjpEJyal2k/bSU29hSrFW0 soE1JNPVxU2PuTqlJgDntiovxHSj3NM62+mGeIWwN9OV1wXormKxTkQjs0MQ4pd2WkRE u/V24GtAxbYl+AuJMJ3EgqQvZO65p/gBL3wQ1sQVSyTs2gIS8KMKHIl+ycUGWutB3AE5 D8xG6ZH6SN/XvVrw17kM389THZJHWerlHQ2Ks71Tex01KpsJq/ukc5kFb+27yEGYBciS m1Dw== X-Forwarded-Encrypted: i=1; AJvYcCUUYSS6ZtypbX9CBCBAXNJNy4ci/pY0zxGmVuXELQyWLH56nCaDtkagTj2th4zma8bfHCdrmVKkAIVVUqo=@vger.kernel.org X-Gm-Message-State: AOJu0Yw8+XRp8QiqpFEj/4WZg0cgI++QKoX6A/G/q7IBJ8kVrSLfX0re fXyuUUSHryEv8iTkx2YQlDFXtoOupXvYxlpjI4Wy3TYci/1CETVkwRtef24QOZlcpA== X-Gm-Gg: ATEYQzzvkclTdMg/xzvLMJfnIhT2G71sTQM9oU2x/LB12qxgDsa78NXnejeiSBhloa+ GysK6G3+EJiEpUdy3GrzwV9Jnwe3qJjzqlSGUOqVcWleciJxRvomQgMiUbzBlFWlY7XTNMxv8F+ U1GOmYGllgWhW5blsIuggsjtvxvF36tr0z2EHRGLqjKO1d3KuAcQcDm1DQW6mZCExqV9sw7838M XmqaP3gwfsW7JGdKa2npSQfB8th38fBeDaPPvjbs9ze6hzaOz/tIpEAENG9Dd5h/IpclIigZryO uoTa+S0Ag7BBxpWn/kSwFixJ6xrfdtiIEVE6INxfItIQbVAneG5Cgu2onf1W50kAEVZZ+Hf0+EP sYoQfEnKL5kjmWP9kJyUMEcAaBYmbB4BHH+sLQiXPkvvbmcJ/9iGGH863SdIH8IrrAKo41xWOzx lgGtd73PtiUGajzYtICVvYFynfA9hafRf95+aF4Y5zkMLUA/39RT89oxkYZIna7HUrPIsRPpKx7 vIU2u0r X-Received: by 2002:a17:90a:1c08:b0:35b:e519:213b with SMTP id 98e67ed59e1d1-35be5192186mr4759182a91.30.1774329632112; Mon, 23 Mar 2026 22:20:32 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2a00:79e0:201d:8:19a5:8f2f:d584:8078]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35c03124a87sm1068647a91.3.2026.03.23.22.20.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 22:20:31 -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 , Bartosz Golaszewski , linux-pci@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH v6 6/7] PCI: mediatek-gen3: Disable device if further setup fails Date: Tue, 24 Mar 2026 13:19:58 +0800 Message-ID: <20260324052002.4072430-7-wenst@chromium.org> X-Mailer: git-send-email 2.53.0.983.g0bb29b3bc5-goog In-Reply-To: <20260324052002.4072430-1-wenst@chromium.org> References: <20260324052002.4072430-1-wenst@chromium.org> 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" If further setup fails after the device is powered on and link training succeeds, we want to place the device back in a quiescence state to avoid unintended activity and save power. This also helps with power state tracking and balancing once pwrctrl API is integrated. Power down the device in the error paths of mtk_pcie_startup_port() and mtk_pcie_probe(). Reviewed-by: AngeloGioacchino Del Regno Reviewed-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Chen-Yu Tsai --- drivers/pci/controller/pcie-mediatek-gen3.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c b/drivers/pci/cont= roller/pcie-mediatek-gen3.c index 526db8815401..208866d33c77 100644 --- a/drivers/pci/controller/pcie-mediatek-gen3.c +++ b/drivers/pci/controller/pcie-mediatek-gen3.c @@ -556,10 +556,14 @@ static int mtk_pcie_startup_port(struct mtk_gen3_pcie= *pcie) dev_err(pcie->dev, "PCIe link down, current LTSSM state: %s (%#x)\n", ltssm_state, val); - return err; + goto err_power_down_device; } =20 return 0; + +err_power_down_device: + mtk_pcie_devices_power_down(pcie); + return err; } =20 #define MTK_MSI_FLAGS_REQUIRED (MSI_FLAG_USE_DEF_DOM_OPS | \ @@ -1219,6 +1223,7 @@ static int mtk_pcie_probe(struct platform_device *pde= v) return 0; =20 err_power_down_pcie: + mtk_pcie_devices_power_down(pcie); mtk_pcie_power_down(pcie); err_tear_down_irq: mtk_pcie_irq_teardown(pcie); --=20 2.53.0.983.g0bb29b3bc5-goog