Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp73171pxb; Mon, 11 Apr 2022 19:13:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwATmNrjPMmNsH5Espup1AQbXIEyobgLeQ7EAmzbzNoO4+NiRD9wSYBcL1no3V6BgemrlKE X-Received: by 2002:a05:6402:1941:b0:413:2822:9c8 with SMTP id f1-20020a056402194100b00413282209c8mr36226852edz.13.1649729636115; Mon, 11 Apr 2022 19:13:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649729636; cv=none; d=google.com; s=arc-20160816; b=KMJc+sDJBFmc6x//3tHs5QnHqO5uVqrHtrByuyEOdwwApg4OFfsT+39CNfAI9nBl9h 5zXzCnoyvcIfWZdUvKSOhCHDHtVvhzl8V7RInMFV7SqVmBcWsIJYBAvoqScOOuZbrJ/1 FXpXKZUSPepkSj4kfdnZgIjo9yBD6uNPaZmN1NDWu2MbFBgFavb+cC8c2Y4d8gNc8CD5 r50/EISjVYCbGrM8B2hc45d653wjAUv4pi6jjX9DtjhdVwnlDB2AlhIM2YOpi1PNUKuE TaGAiNzfqPHqGyweynjUiH1ndo+H4YFBj2f1uKm4HXb8wyA2t9lolKR+nJ7Y5Kp2lO6n TSAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=NMOsXVhpxuCk0qAzgWnvbscoWV3Wp1SP0PG3dqS9twY=; b=v2ZZcW4LewOCUFdDoNdloF2+gElUVOtiqo3FNuzzqtPUBcaJKVNBU9pLcugipqOF3y 5lForNzSuufmxj+ocmidke6GlehO2bgJgEafwCbl2dzQ0cDPTnxolyzfInKwxBdsKlDD KiE7noXOXl7x9M1/XjrFRFSaz57WFl23a/XrV/55Cn/7/Czjt3x6mTYpoGrSOVKjjDHJ VgKD/2PrdeX6S6lcBEthPaskpISNjV8hCvK6jI5wwU7VYnFvesZRgb/iSJ77rYGRs0xa jFkPbzAqe27+sY4XHhJw6esqVOoPLTvAoMVU468+E5ZEeoz52CHcAkgXQaA8LjlHlzeE Ujdg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y7-20020a50e607000000b0041947932452si7735794edm.439.2022.04.11.19.13.30; Mon, 11 Apr 2022 19:13:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242327AbiDKKEh (ORCPT + 99 others); Mon, 11 Apr 2022 06:04:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55230 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238825AbiDKKEd (ORCPT ); Mon, 11 Apr 2022 06:04:33 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1AA9D40E73 for ; Mon, 11 Apr 2022 03:02:20 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ndqs3-0001VG-FJ; Mon, 11 Apr 2022 12:02:07 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1ndqs3-002MQB-9j; Mon, 11 Apr 2022 12:02:05 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1ndqs1-002ZTf-2q; Mon, 11 Apr 2022 12:02:05 +0200 Date: Mon, 11 Apr 2022 12:02:02 +0200 From: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= To: Tony Lindgren Cc: Greg Kroah-Hartman , Andy Shevchenko , Jiri Slaby , Johan Hovold , Sebastian Andrzej Siewior , Vignesh Raghavendra , linux-serial@vger.kernel.org, linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, Steffen Trumtrar , "Matwey V. Kornilov" Subject: Re: [PATCH 2/2] serial: 8250: Fix runtime PM for start_tx() for empty buffer Message-ID: <20220411100202.5mzcogksfzk4hlk6@pengutronix.de> References: <20220411094805.45696-1-tony@atomide.com> <20220411094805.45696-2-tony@atomide.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="mog63zosfq7sgn7x" Content-Disposition: inline In-Reply-To: <20220411094805.45696-2-tony@atomide.com> X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --mog63zosfq7sgn7x Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Apr 11, 2022 at 12:48:05PM +0300, Tony Lindgren wrote: > Commit 932d596378b0 ("serial: 8250: Return early in .start_tx() if there > are no chars to send") caused a regression where the drivers implementing > runtime PM stopped idling. >=20 > We need to call serial8250_rpm_put_tx() on early exit, it normally gets > called later on at __stop_tx(). >=20 > Fixes: 932d596378b0 ("serial: 8250: Return early in .start_tx() if there = are no chars to send") > Cc: Steffen Trumtrar > Cc: Uwe Kleine-K=F6nig > Signed-off-by: Tony Lindgren > --- > drivers/tty/serial/8250/8250_port.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) >=20 > diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/825= 0/8250_port.c > --- a/drivers/tty/serial/8250/8250_port.c > +++ b/drivers/tty/serial/8250/8250_port.c > @@ -1677,8 +1677,10 @@ static void serial8250_start_tx(struct uart_port *= port) > =20 > serial8250_rpm_get_tx(up); > =20 > - if (!port->x_char && uart_circ_empty(&port->state->xmit)) > + if (!port->x_char && uart_circ_empty(&port->state->xmit)) { > + serial8250_rpm_put_tx(up); > return; > + } Assuming you don't need serial8250_rpm_get_tx() to check the condition, it would be easier to move the early return before the call to serial8250_rpm_get_tx(). Best regards Uwe --=20 Pengutronix e.K. | Uwe Kleine-K=F6nig | Industrial Linux Solutions | https://www.pengutronix.de/ | --mog63zosfq7sgn7x Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEfnIqFpAYrP8+dKQLwfwUeK3K7AkFAmJT/JcACgkQwfwUeK3K 7AmWNgf+IEwsufAbM3FLCmMNkfpzUsHgYf7rkVnWWCEQMp6Gp1L6uaZtqT0bYI+5 wUukJuaYFU1PVp+oy8JB/ZduyFrp/e4qOnPJ9hl2tJg0J6pZ21PH2tO/RYRjbrIT h7srAdGQSX/e/u4R/TWRTuakJdwUBJHMpEO6KbXLC4xwpsUNtQeZjdsHUbalsoZg SvtjbdFrzeQU05ZF/an8fIgRl5/4LTnauf3YRPR2CBHwuElpuWIUqwR4E4kd7HFc OvVnpyGSb5fZ2k9Xvjla/CwW4I+e0At7T8Y4na0Jy6vKO/PhzcdIx2SDPvngYL5E ikIrMVTSxTA5IWNHOfJcUvAEqpKxgw== =/HZe -----END PGP SIGNATURE----- --mog63zosfq7sgn7x--