From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (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 24DD335AC03 for ; Tue, 28 Apr 2026 06:45:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777358752; cv=none; b=s9cqOhs6POwZ9lvzKAYl/FbbJ13pphfZcvSJDHOLtBtD4xF/wAX8vQZoDewHzSsTZJxUL4T3iZulI6SPEV6GtcT5B1OKJIlvo2G6JpYUMR8kbAH2mvpTkXyjj7mfyt9q/JtfCIAJqKnqEi+5EilUPubc4Ve5bejbdqP7NMbHEKc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777358752; c=relaxed/simple; bh=LrBxBwY6EkcnJTBR74rdDGe5lj8eS4fhoYBLHr+YRSE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=LG5AhW+3tL2nBok/xUWn1AxrnYaszzi6adEnoIf9DCHxlqZoo0zXS2VNUMVHO5lMARefRKy7MvFN/+5kVe7heESlzrqbmbtqsIjKClcxeRR7YSQkJCz6igm0uilzjh3hhdI6M6HXyMRVRbofW6s02rart6MXizKyxfgz+eBqblU= 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=hQulWSKc; arc=none smtp.client-ip=209.85.210.181 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="hQulWSKc" Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-83177129e28so2165638b3a.1 for ; Mon, 27 Apr 2026 23:45:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777358750; x=1777963550; 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=n8w0oIZcJg0HWH7qp36mqtAMYVvykKhAQ4v6aLfKU44=; b=hQulWSKcRgvsxaMvMMLKTqaLMubTDBJAq2tyulAdTV1tAB4+V/gJUNl/IqMX6x7hin zrNBk8r2Mz+/BtobpKVgV7XSb/odG/0wv+9IwE8SIua75xAbqPu6xrkcxSX116lqF3zw Sqb/jpAC2aZuQOwLQSDv3VZ5V7gItqd7wkvj7hMCYgP0ixygHZRvYeerGPZ7EFU/FxOH 8AK5fRx8N+JRBkBfV1IWn/yVO2d3LDEYg2VmAPmpyEqhX/yKWS4DUxfPAhYP8cmpwVqa 8AgM8z+Ktya7fdBgisH+q9m7zUoIyM25xLU/RtqjY7GnAUNf6KfVPjthKC6tmKKvPkUE EggA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777358750; x=1777963550; 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=n8w0oIZcJg0HWH7qp36mqtAMYVvykKhAQ4v6aLfKU44=; b=Cw9DlGPRrUNdHgsx1BjU0pJ9/kvUS98KJY68MckhO+3LSv+WVTNTF+kcIr1oV4ieWC Smfh2G6/VYVwY0+1QLhKitd1Ajv9DkJA6OhlzBaINIVrK3sZ8kNgqsn27mEGholr2l5T bfN41NgaOHMxTIaNr1yO9te+c0O1c09+9MnyFcgBk2h+3kpVqcG8BK6luFIWLqDKZfIF hCLjM3OLQG/RFywwnmud/NmlcBoHQUlXgCOo1alWL+IDgM/IW20gl3O8A4E0lZ+f0CNW HXOToum9pr63/7pLUZafc1zBzmh6901zzorJTXNZftP2YQd5J3zW46Bp/BDMh+zyzi4Q LSwg== X-Forwarded-Encrypted: i=1; AFNElJ9GKuUridGkDl0oG3tVOW/Fhc2vt5ZQ6zFJXZK1qZZQsFw8+4ZJeEexl1tudgAyciw9tuZ9l2oj1YpMZ+w=@vger.kernel.org X-Gm-Message-State: AOJu0YyD09nKDAtobIH9DN8sc6hHxFVEjXu0ZK8Krzzx4Gbb6tvvZKY8 mVI1XFH192365qxwr9B58M4xxep5tY01YddSGbtVR4TsgrfNWSIegcM= X-Gm-Gg: AeBDiesUw7qqbwvSp2YavWxz1ZGVpjgC9grWgE90NtpAV1+3KflZjFRZf7ozHMtOAm5 GgHaOfjPODZU2f48DT6gn5SQiy9jloH4s96EINgFwMdd7ORC/tYNI5q8YWp+ixJTpG8TqtaxP5v DREekEa9xJ+QCh8QWvToTDxT90ZidxeuChvYyWnXMnT7AhxmkDnJu0NM5z7zOaRTY80C095dV6L OIR+x/BuUAbCVZdIllh2AyspG8Z3U5vRddZ66cGU16O29CS5au4iRP4Z3PNQT1rah/JjwK2ppDc zXacF5NhYSv9njrPt1Lh2xp7mE1AxBv/Z0aopP8bNNnr8eFZXuMeiyzTkCRgYn7mchuY/tXk4n0 81oefZZD68ApfrO7KrHCr+p6aGqsItjRdYQhZUwsw6wRXqwh6Si5eggCFOd5WEgs/+Lm2FUQ/N5 ebcF7r/vwXZZ8Q3O+x9FkF+nA7deYKF/z29q2ojobnnUlLMM/ZE6IFUb15yg671PFnGznXKV1sV ryUVSkQhw== X-Received: by 2002:a05:6a00:4387:b0:82f:5125:a324 with SMTP id d2e1a72fcca58-834ddc488d1mr1861650b3a.36.1777358750356; Mon, 27 Apr 2026 23:45:50 -0700 (PDT) Received: from localhost.localdomain ([1.226.165.54]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-834daf3122dsm1468905b3a.32.2026.04.27.23.45.48 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 27 Apr 2026 23:45:49 -0700 (PDT) From: Myeonghun Pak To: Tobias Klauser , Greg Kroah-Hartman , Jiri Slaby Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Myeonghun Pak , Ijae Kim Subject: [PATCH] serial: altera_jtaguart: handle uart_add_one_port() failures Date: Tue, 28 Apr 2026 15:44:57 +0900 Message-ID: <20260428064511.8934-1-mhun512@gmail.com> X-Mailer: git-send-email 2.47.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit altera_jtaguart_probe() maps the register window before registering the UART port, but it ignores failures from uart_add_one_port(). If port registration fails, probe still returns success and the mapping remains live until a later remove path that is not part of probe failure cleanup. Return the uart_add_one_port() error and unmap the register window on that failure path. Fixes: 5bcd601049c6 ("serial: Add driver for the Altera JTAG UART") Co-developed-by: Ijae Kim Signed-off-by: Ijae Kim Signed-off-by: Myeonghun Pak --- drivers/tty/serial/altera_jtaguart.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/altera_jtaguart.c b/drivers/tty/serial/altera_jtaguart.c index d47a62d1c9..15588b6dc3 100644 --- a/drivers/tty/serial/altera_jtaguart.c +++ b/drivers/tty/serial/altera_jtaguart.c @@ -379,6 +379,7 @@ static int altera_jtaguart_probe(struct platform_device *pdev) struct resource *res_mem; int i = pdev->id; int irq; + int ret; /* -1 emphasizes that the platform must have one port, no .N suffix */ if (i == -1) @@ -418,7 +419,12 @@ static int altera_jtaguart_probe(struct platform_device *pdev) port->flags = UPF_BOOT_AUTOCONF; port->dev = &pdev->dev; - uart_add_one_port(&altera_jtaguart_driver, port); + ret = uart_add_one_port(&altera_jtaguart_driver, port); + if (ret) { + iounmap(port->membase); + port->membase = NULL; + return ret; + } return 0; } -- 2.51.0