All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Borislav Petkov <bp@alien8.de>
Cc: linux-serial <linux-serial@vger.kernel.org>,
	 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	 Jiri Slaby <jirislaby@kernel.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: serial 00:06: Runtime PM usage count underflow!
Date: Mon, 18 Nov 2024 16:14:20 +0200 (EET)	[thread overview]
Message-ID: <ca76fb23-013d-9745-188b-b519096aa784@linux.intel.com> (raw)
In-Reply-To: <20241116170727.GCZzjRT5WGcOMKFDYq@fat_crate.local>

[-- Attachment #1: Type: text/plain, Size: 2237 bytes --]

On Sat, 16 Nov 2024, Borislav Petkov wrote:

> Hi folks,
> 
> got a box here which says:
> 
> [    4.654361] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    4.660820] 00:06: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
> [    4.668313] printk: legacy console [ttyS0] disabled
> [    4.676903] serial 00:06: Runtime PM usage count underflow!
> [    4.677175] serial 00:06: disabled
> [    4.677264] serial 00:06: unable to assign resources
> [    4.677356] serial 00:06: probe with driver serial failed with error -16
> [    4.677923] printk: legacy console [ttyS0] disabled
> 
> Any suggestions?
> 
> I'd like to use the serial cable to catch dmesg but somehow the driver doesn't
> like the chip...

I think "Runtime PM usage count underflow!" is not related to the probe 
problem you're seeing. Nonetheless, this patch might solve the underflow:

--
[PATCH 1/1] tty: serial: 8250: Fix another runtime PM usage counter underflow

The commit f9b11229b79c ("serial: 8250: Fix PM usage_count for console
handover") fixed one runtime PM usage counter balance problem that
occurs because .dev is not set during univ8250 setup preventing call to
pm_runtime_get_sync(). Later, univ8250_console_exit() will trigger the
runtime PM usage counter underflow as .dev is already set at that time.

Call pm_runtime_get_sync() to balance the RPM usage counter also in
serial8250_register_8250_port() before trying to add the port.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/tty/serial/8250/8250_core.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c
index 5f9f06911795..68baf75bdadc 100644
--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
@@ -812,6 +812,9 @@ int serial8250_register_8250_port(const struct uart_8250_port *up)
 			uart->dl_write = up->dl_write;
 
 		if (uart->port.type != PORT_8250_CIR) {
+			if (uart_console_registered(&uart->port))
+				pm_runtime_get_sync(uart->port.dev);
+
 			if (serial8250_isa_config != NULL)
 				serial8250_isa_config(0, &uart->port,
 						&uart->capabilities);
-- 
2.39.5

  parent reply	other threads:[~2024-11-18 14:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-16 17:07 serial 00:06: Runtime PM usage count underflow! Borislav Petkov
2024-11-16 17:19 ` Greg Kroah-Hartman
2024-11-16 17:58   ` Borislav Petkov
2024-11-18 14:14 ` Ilpo Järvinen [this message]
2024-12-10 15:17   ` Borislav Petkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ca76fb23-013d-9745-188b-b519096aa784@linux.intel.com \
    --to=ilpo.jarvinen@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.