From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 40415154C0E; Mon, 5 Aug 2024 10:20:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853254; cv=none; b=Wsjx5tbqbCg3n2iiFFs3GTsB4X8nYU7v/TfWhpxbs+eswtEboWMhmkAiuSnOrGQ5wnT3tMcYFNYSjCfht5ajioZbvmB23WgZUQT07ZilneaRBlaW9PXoQvsFQFlPlWrJ13/g2kT65oJ9dD5X91nhKXziXgywwZt1ig80knSv+pc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853254; c=relaxed/simple; bh=aoNxYDeT+cp1L3QyLm4IuavyGfB6u8ex3oYTREvJU2A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cBEovwrwkh8htBdatgdR4pe4M8LQbkPBl2OoHrKuhKF4W4wa3AxiXGY+hliwWEByR2MigDE0HkKZMGz8+OHPs3MhD04y69QGT16gPGQh0Lul+QSsvN73cE8YWio42P5qxvIhNommZd+1UoE8eWerJ9KagJlzDIquQggqf1hju3Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jo+Yi//b; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jo+Yi//b" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CE0B9C4AF10; Mon, 5 Aug 2024 10:20:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853253; bh=aoNxYDeT+cp1L3QyLm4IuavyGfB6u8ex3oYTREvJU2A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jo+Yi//brhxZulg7zpoOE7wtkjd57ozIiFfyiXSfksezziyc7HizwDdbOb/0Tk9PK uWJqeo6NDnomwlMW1TdFka5bSrHU286XZ4zxq3TrgIitXMd3SfzyQqb3l1acR6Nc/a w6LVOCn45ScTxE1hajFO9CXx9N8OIlTGLAZ83Upt8DOY+mayBulg7A7vGia3AqzBSg CGuyPfLyXpjGCeQviP0pdWxwi3UWeadBdZ7frU/DvmgtH2NNNLHpXL736PXIKcpWEp h97eKx3DJayB7rc3w52ghhpggJtd4dIbWe66XWfx3dg1Hby/S5tDoKJStzqOTNfapJ sTiB+EnyASUGg== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 01/13] tty: simplify tty_dev_name_to_number() using guard(mutex) Date: Mon, 5 Aug 2024 12:20:34 +0200 Message-ID: <20240805102046.307511-2-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" In tty_dev_name_to_number(), a guard can help to make the code easier to follow. Especially how 0 is returned in the successful case. So use a guard there. Signed-off-by: Jiri Slaby (SUSE) Reviewed-by: Ilpo J=C3=A4rvinen --- drivers/tty/tty_io.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c index bc9aebcb873f..267682bcfea0 100644 --- a/drivers/tty/tty_io.c +++ b/drivers/tty/tty_io.c @@ -350,22 +350,19 @@ int tty_dev_name_to_number(const char *name, dev_t *n= umber) return ret; =20 prefix_length =3D str - name; - mutex_lock(&tty_mutex); + + guard(mutex)(&tty_mutex); =20 list_for_each_entry(p, &tty_drivers, tty_drivers) if (prefix_length =3D=3D strlen(p->name) && strncmp(name, p->name, prefix_length) =3D=3D 0) { if (index < p->num) { *number =3D MKDEV(p->major, p->minor_start + index); - goto out; + return 0; } } =20 - /* if here then driver wasn't found */ - ret =3D -ENODEV; -out: - mutex_unlock(&tty_mutex); - return ret; + return -ENODEV; } EXPORT_SYMBOL_GPL(tty_dev_name_to_number); =20 --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B4B10155735; Mon, 5 Aug 2024 10:20:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853255; cv=none; b=IVS56AuLoeZboETN/0y9Z1vfiq8jhcuLqBW9UzlDE0utjTari8Tc2Jilu4CTP115AHDVOC9Vuzfi9Cj85ysA+9dqIyqoMrH+fGtDAubRFHnrg96ORTRSAeCOlltf3ba8tAWE9Wl3EEv27ATYaiP7i9sf1dsdeW15Pz67uACU+K4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853255; c=relaxed/simple; bh=S6/Ai1CdLZDMBoYrAC6nEpen71bLbi3IKrnKG2Sv+Us=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=C9COlOvqT7SFc7DXWNGepz7mc9HB96Olf6C6/V/I6pMgyVeCokCaAhneG6o5iaZtD/BXpfuS8gfnXnTREVPX3C+qt3afNA5fnEwOahnsUROZ7EFZelKNoCe/1vy/RmuTrjCh9b1lyFHVfNv/wshpBw/kSLSlg8vjpYXPCJiWUPo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=N/nCnrmd; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="N/nCnrmd" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 55602C4AF18; Mon, 5 Aug 2024 10:20:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853255; bh=S6/Ai1CdLZDMBoYrAC6nEpen71bLbi3IKrnKG2Sv+Us=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N/nCnrmdNe1qCiCgN25ZOodnz9CAb3fU01mLNXr9Lb9XmB+FEtMEhRCmpOm7v+rW0 OycdSitMYnmrOcGy3nmN3IL4Ze2pPxdRbbCcZudDgDy9UHYYMszha0A8snzXwxAB3R tRRGduF6/XYkOy0zWgCtYvHHfsQlfEYLjFtC4ksybCeDxljU90QYDRm209ESvFcfqJ LpkbPDwWFM7tDDbnq0dgl4VAvPyJMCoaCXQaCUbDN4LSeBfsBRwM8DQPY2Jf0hYyrp ZBKeSXMsZhZhAhZSzwQ/qLB3dwXu8epS4pqc1U4mdTsyEbQ3Wlqpdc68TaQVcY1Q2y EvmjbbTTDtkGQ== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Peter Hurley Subject: [PATCH 02/13] serial: protect uart_port_dtr_rts() in uart_shutdown() too Date: Mon, 5 Aug 2024 12:20:35 +0200 Message-ID: <20240805102046.307511-3-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" Commit af224ca2df29 (serial: core: Prevent unsafe uart port access, part 3) added few uport =3D=3D NULL checks. It added one to uart_shutdown(), so the commit assumes, uport can be NULL in there. But right after that protection, there is an unprotected "uart_port_dtr_rts(uport, false);" call. That is invoked only if HUPCL is set, so I assume that is the reason why we do not see lots of these reports. Or it cannot be NULL at this point at all for some reason :P. Until the above is investigated, stay on the safe side and move this dereference to the if too. I got this inconsistency from Coverity under CID 1585130. Thanks. Signed-off-by: Jiri Slaby (SUSE) Cc: Peter Hurley Cc: Greg Kroah-Hartman --- drivers/tty/serial/serial_core.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_c= ore.c index 61c7e1268957..3afe77f05abf 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -407,14 +407,16 @@ static void uart_shutdown(struct tty_struct *tty, str= uct uart_state *state) /* * Turn off DTR and RTS early. */ - if (uport && uart_console(uport) && tty) { - uport->cons->cflag =3D tty->termios.c_cflag; - uport->cons->ispeed =3D tty->termios.c_ispeed; - uport->cons->ospeed =3D tty->termios.c_ospeed; - } + if (uport) { + if (uart_console(uport) && tty) { + uport->cons->cflag =3D tty->termios.c_cflag; + uport->cons->ispeed =3D tty->termios.c_ispeed; + uport->cons->ospeed =3D tty->termios.c_ospeed; + } =20 - if (!tty || C_HUPCL(tty)) - uart_port_dtr_rts(uport, false); + if (!tty || C_HUPCL(tty)) + uart_port_dtr_rts(uport, false); + } =20 uart_port_shutdown(port); } --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 84E16155C91; Mon, 5 Aug 2024 10:20:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853257; cv=none; b=gj2gmaW8HkfbrcgMD6awngfGPL9u/fmZekBqt73lCUGOizkt7HF+GY3u/8eIZdflbiZM/p7diu6pD8lCGL9zqDFXPPEq/N6o0rZYSDkHkrAcucocJ8oSRZJ+9axWeFFGxUPhckymgvzo8PHeOCpke+U3YWJkppkxNiP61iNwz8Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853257; c=relaxed/simple; bh=n4v5gmWtmqYQInKnJ/Js6GzVrvaIyNCeY/904bJqLK8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PF6DTOErLTa4RK1UEdzh50Sv4pTG3bM0bdTNiADsjLNjgOUb5YnRozQOkYZiSnwhEbDaxf2LbZi938ebhQO4/E3mSEzkbI8zuv8Qd8phomJHhAgky2bJrTVF7fHAotqo7UHFWdLbwmaXFly7gCB5u+yMvoWdiwZcMEC2bNdFX4c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YWsw0LvP; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="YWsw0LvP" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 03DEDC4AF0D; Mon, 5 Aug 2024 10:20:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853257; bh=n4v5gmWtmqYQInKnJ/Js6GzVrvaIyNCeY/904bJqLK8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YWsw0LvPLdgFkGHOZy8F4Nh7/wtWSTrTPl2QPrRpyGngvna126B98z0g1q3VJvKhV 32pgQUcb4d78RpOvLH1RYkZhrzALxtmnGFvuq0A1/DpVTf+8Z8WaduFkoREIDdrDLQ WECgYryvu3tNlbkQWL+p2bWF/sDoQPQdUjyR3eafW7rJgGY/CGxY0Gl9q58+xrKjZX K8v/AaPNpIcFPUkXZIKgsd7dbA712/eR0HPGQU7uojF8XR+I49LB6zzxKpjv6+5Ibu iZH038xKggv+FZE0W45Kl8BijJFTQ67gwq2QQWs2z1jVU+Ru4FWhAtQIKhEWeegQVv xQX4NbNKzADxg== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , stable@vger.kernel.org, Douglas Anderson Subject: [PATCH 03/13] serial: don't use uninitialized value in uart_poll_init() Date: Mon, 5 Aug 2024 12:20:36 +0200 Message-ID: <20240805102046.307511-4-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" Coverity reports (as CID 1536978) that uart_poll_init() passes uninitialized pm_state to uart_change_pm(). It is in case the first 'if' takes the true branch (does "goto out;"). Fix this and simplify the function by simple guard(mutex). The code needs no labels after this at all. And it is pretty clear that the code has not fiddled with pm_state at that point. Signed-off-by: Jiri Slaby (SUSE) Fixes: 5e227ef2aa38 (serial: uart_poll_init() should power on the UART) Cc: stable@vger.kernel.org Cc: Douglas Anderson Cc: Greg Kroah-Hartman Reviewed-by: Douglas Anderson Reviewed-by: Ilpo J=C3=A4rvinen --- drivers/tty/serial/serial_core.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_c= ore.c index 3afe77f05abf..d63e9b636e02 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -2690,14 +2690,13 @@ static int uart_poll_init(struct tty_driver *driver= , int line, char *options) int ret =3D 0; =20 tport =3D &state->port; - mutex_lock(&tport->mutex); + + guard(mutex)(&tport->mutex); =20 port =3D uart_port_check(state); if (!port || port->type =3D=3D PORT_UNKNOWN || - !(port->ops->poll_get_char && port->ops->poll_put_char)) { - ret =3D -1; - goto out; - } + !(port->ops->poll_get_char && port->ops->poll_put_char)) + return -1; =20 pm_state =3D state->pm_state; uart_change_pm(state, UART_PM_STATE_ON); @@ -2717,10 +2716,10 @@ static int uart_poll_init(struct tty_driver *driver= , int line, char *options) ret =3D uart_set_options(port, NULL, baud, parity, bits, flow); console_list_unlock(); } -out: + if (ret) uart_change_pm(state, pm_state); - mutex_unlock(&tport->mutex); + return ret; } =20 --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A48BE15A865; Mon, 5 Aug 2024 10:20:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853259; cv=none; b=reLENO1iO6p42yJv+DxltSkL0y6boeZvCCaIlOieDhd5HSV8cB2N5yRlIQDdDxsuys+4dMwd4w8BSRdZGYO7LWZZf6gCV3IDpVw15JfrM7pMKHHLRZfdAx62zJdwo9iifV5IN1BN5Iv+6shQb8w55brwdUppywI8cEDNgjcuvaE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853259; c=relaxed/simple; bh=jOuqSo9hnu+BJZ9+LRjz1QLODIw+vrxmbvnptmsVYMc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=D44qK/zvFL4Dglgde9mBTj2YB9PC6huTVXKzOJTy1AeZv34aLN8CzU9Ca8KhKuRwdo+d7Qgw7b4iGkeT2eLqMbOWNpCs/1oaIPsRWwn173cSUI1ndtOc7vt2ElqDCddHfHABm3njQ+QdMPtcfJ+GYwENGREuicATzdrmlJ/uIgw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SIYBoY6b; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SIYBoY6b" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D2E55C4AF0F; Mon, 5 Aug 2024 10:20:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853259; bh=jOuqSo9hnu+BJZ9+LRjz1QLODIw+vrxmbvnptmsVYMc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SIYBoY6bQ04eaRdaebMdig0+dtVGA+kcxKGh+LQ77gJdcpRODjSyF6t75WI/PxASA qQdxxm7SStzPisngEaTHgJao5+xLSAVlPLq+w5RcIIyus8oXUtpotEnHux6CH8r2pb 5pTG6OoN48d0T4z16PAQoc/dsjJkbFrnLQKu9GWak3+3E4Mw1GzXeiyGixg33D8k81 IWFSaYM82b07mZtMIJronySvbybd261Yi6QD0MJY8kN1TNeC9n2ZBaa3NZEARLp1Gf vF4q+l45Klc7GVrwtybDKXZKWEop6c95e5ZGfyeTm/CgqWUMvNmmlGO/Lwq0mvKXuV kzBb5ZbuVkHAg== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , Andy Shevchenko Subject: [PATCH 04/13] serial: remove quot_frac from serial8250_do_set_divisor() Date: Mon, 5 Aug 2024 12:20:37 +0200 Message-ID: <20240805102046.307511-5-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable quot_frac is unused in serial8250_do_set_divisor() since commit b2b4b8ed3c06 (serial: 8250_exar: Move custom divisor support out from 8250_port). So no point to pass it. Signed-off-by: Jiri Slaby (SUSE) Cc: "Ilpo J=C3=A4rvinen" Cc: Andy Shevchenko Cc: Greg Kroah-Hartman --- drivers/tty/serial/8250/8250_dwlib.c | 2 +- drivers/tty/serial/8250/8250_exar.c | 2 +- drivers/tty/serial/8250/8250_pci.c | 2 +- drivers/tty/serial/8250/8250_port.c | 4 ++-- include/linux/serial_8250.h | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/tty/serial/8250/8250_dwlib.c b/drivers/tty/serial/8250= /8250_dwlib.c index 5a2520943dfd..b055d89cfb39 100644 --- a/drivers/tty/serial/8250/8250_dwlib.c +++ b/drivers/tty/serial/8250/8250_dwlib.c @@ -89,7 +89,7 @@ static void dw8250_set_divisor(struct uart_port *p, unsig= ned int baud, unsigned int quot, unsigned int quot_frac) { dw8250_writel_ext(p, DW_UART_DLF, quot_frac); - serial8250_do_set_divisor(p, baud, quot, quot_frac); + serial8250_do_set_divisor(p, baud, quot); } =20 void dw8250_do_set_termios(struct uart_port *p, struct ktermios *termios, diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/= 8250_exar.c index 616128254bbd..b7a75db15249 100644 --- a/drivers/tty/serial/8250/8250_exar.c +++ b/drivers/tty/serial/8250/8250_exar.c @@ -500,7 +500,7 @@ static unsigned int xr17v35x_get_divisor(struct uart_po= rt *p, unsigned int baud, static void xr17v35x_set_divisor(struct uart_port *p, unsigned int baud, unsigned int quot, unsigned int quot_frac) { - serial8250_do_set_divisor(p, baud, quot, quot_frac); + serial8250_do_set_divisor(p, baud, quot); =20 /* Preserve bits not related to baudrate; DLD[7:4]. */ quot_frac |=3D serial_port_in(p, 0x2) & 0xf0; diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8= 250_pci.c index e1d7aa2fa347..6709b6a5f301 100644 --- a/drivers/tty/serial/8250/8250_pci.c +++ b/drivers/tty/serial/8250/8250_pci.c @@ -1277,7 +1277,7 @@ static void pci_oxsemi_tornado_set_divisor(struct uar= t_port *port, serial_icr_write(up, UART_TCR, tcr); serial_icr_write(up, UART_CPR, cpr); serial_icr_write(up, UART_CKS, cpr2); - serial8250_do_set_divisor(port, baud, quot, 0); + serial8250_do_set_divisor(port, baud, quot); } =20 /* diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/= 8250_port.c index 2786918aea98..3509af7dc52b 100644 --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c @@ -2609,7 +2609,7 @@ static unsigned char serial8250_compute_lcr(struct ua= rt_8250_port *up, } =20 void serial8250_do_set_divisor(struct uart_port *port, unsigned int baud, - unsigned int quot, unsigned int quot_frac) + unsigned int quot) { struct uart_8250_port *up =3D up_to_u8250p(port); =20 @@ -2641,7 +2641,7 @@ static void serial8250_set_divisor(struct uart_port *= port, unsigned int baud, if (port->set_divisor) port->set_divisor(port, baud, quot, quot_frac); else - serial8250_do_set_divisor(port, baud, quot, quot_frac); + serial8250_do_set_divisor(port, baud, quot); } =20 static unsigned int serial8250_get_baud_rate(struct uart_port *port, diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h index fd59ed2cca53..e0717c8393d7 100644 --- a/include/linux/serial_8250.h +++ b/include/linux/serial_8250.h @@ -193,7 +193,7 @@ void serial8250_do_pm(struct uart_port *port, unsigned = int state, unsigned int oldstate); void serial8250_do_set_mctrl(struct uart_port *port, unsigned int mctrl); void serial8250_do_set_divisor(struct uart_port *port, unsigned int baud, - unsigned int quot, unsigned int quot_frac); + unsigned int quot); int fsl8250_handle_irq(struct uart_port *port); int serial8250_handle_irq(struct uart_port *port, unsigned int iir); u16 serial8250_rx_chars(struct uart_8250_port *up, u16 lsr); --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23A2A15B107; Mon, 5 Aug 2024 10:21:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853261; cv=none; b=KPf0UE0Dx6ZyQMrYSlSwaXOutYiY6hWFRa1AIR7cYxfvpKRp0ePeT7RsQQJIodLYkQXTpt5JdGkJ8giR4AE0F8VwEn0sbDBTogqOfUde5I6BMUqlBaMjPCqDls+CFIZGghuBFPzIebZ1TQzmhAXKoLs0rja9wK/tfsdeBjf8F9c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853261; c=relaxed/simple; bh=/UDtlDDaO6xaKNk6bwmSQ1jG91hzPcY2kjgBsyxYblM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CGEkpgxNm2qQRpdKgbFz2lke/7P57SjK/qb1+y1pBSP/WA+1hCvT8fHPQbn1QAHSRxfKE9x5cb2b5UIcN4VViASfMQG3FVN6XDUJfKdglnBfTVPuDa3lzXyzl8dG/IqH0q0R63z+b20Zl+ae2UoJT71zrDfBoNCUeo5rMjfXUF8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=MnvY6WmM; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="MnvY6WmM" Received: by smtp.kernel.org (Postfix) with ESMTPSA id ACD6EC4AF0D; Mon, 5 Aug 2024 10:20:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853260; bh=/UDtlDDaO6xaKNk6bwmSQ1jG91hzPcY2kjgBsyxYblM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MnvY6WmM6Nm8+7yvH46ze/JLkbHzyJKPRaQVXXQQU74TyDSHHgnwV0VU7Au2micqj Hhm5O/QAMHcoxyzNR8ncAcPRrFfo7chPtpG2d/X5zm6hztstT5gyTbD0cmA5BgqIep OMOj26xmqAx8a6txvaU8W9Ie1QdbdC3rJ67xRLV7asbvLvQwl780wBp4Gyf1qCLjdm 5AR2h3Q77B+s9b+E+szvKciJd2SP/SqnR1hDoK7VdW5ttV2mbLVfzpvDv2M24VhpHE kw5i1xWGi4tS/+tC8f6lwBkvD+XYWwZtpguHtW30SuZ0G4JCwgXl8ZqUMoPxhz/yDI kXQCeCTIGoNFQ== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 05/13] serial: use guards for simple mutex locks Date: Mon, 5 Aug 2024 12:20:38 +0200 Message-ID: <20240805102046.307511-6-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" Guards can help to make the code more readable. So use it wherever they do so. On many places labels and 'ret' locals are eliminated completely. Signed-off-by: Jiri Slaby (SUSE) --- drivers/tty/serial/serial_core.c | 111 +++++++++++++------------------ 1 file changed, 46 insertions(+), 65 deletions(-) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_c= ore.c index d63e9b636e02..0e6c1e51da99 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -1096,21 +1096,19 @@ static int uart_tiocmget(struct tty_struct *tty) struct uart_state *state =3D tty->driver_data; struct tty_port *port =3D &state->port; struct uart_port *uport; - int result =3D -EIO; + int result; + + guard(mutex)(&port->mutex); =20 - mutex_lock(&port->mutex); uport =3D uart_port_check(state); - if (!uport) - goto out; + if (!uport || tty_io_error(tty)) + return -EIO; + + uart_port_lock_irq(uport); + result =3D uport->mctrl; + result |=3D uport->ops->get_mctrl(uport); + uart_port_unlock_irq(uport); =20 - if (!tty_io_error(tty)) { - uart_port_lock_irq(uport); - result =3D uport->mctrl; - result |=3D uport->ops->get_mctrl(uport); - uart_port_unlock_irq(uport); - } -out: - mutex_unlock(&port->mutex); return result; } =20 @@ -1120,20 +1118,16 @@ uart_tiocmset(struct tty_struct *tty, unsigned int = set, unsigned int clear) struct uart_state *state =3D tty->driver_data; struct tty_port *port =3D &state->port; struct uart_port *uport; - int ret =3D -EIO; =20 - mutex_lock(&port->mutex); + guard(mutex)(&port->mutex); + uport =3D uart_port_check(state); - if (!uport) - goto out; + if (!uport || tty_io_error(tty)) + return -EIO; =20 - if (!tty_io_error(tty)) { - uart_update_mctrl(uport, set, clear); - ret =3D 0; - } -out: - mutex_unlock(&port->mutex); - return ret; + uart_update_mctrl(uport, set, clear); + + return 0; } =20 static int uart_break_ctl(struct tty_struct *tty, int break_state) @@ -1141,19 +1135,17 @@ static int uart_break_ctl(struct tty_struct *tty, i= nt break_state) struct uart_state *state =3D tty->driver_data; struct tty_port *port =3D &state->port; struct uart_port *uport; - int ret =3D -EIO; =20 - mutex_lock(&port->mutex); + guard(mutex)(&port->mutex); + uport =3D uart_port_check(state); if (!uport) - goto out; + return -EIO; =20 if (uport->type !=3D PORT_UNKNOWN && uport->ops->break_ctl) uport->ops->break_ctl(uport, break_state); - ret =3D 0; -out: - mutex_unlock(&port->mutex); - return ret; + + return 0; } =20 static int uart_do_autoconfig(struct tty_struct *tty, struct uart_state *s= tate) @@ -1170,17 +1162,14 @@ static int uart_do_autoconfig(struct tty_struct *tt= y, struct uart_state *state) * changing, and hence any extra opens of the port while * we're auto-configuring. */ - if (mutex_lock_interruptible(&port->mutex)) - return -ERESTARTSYS; + scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &port->mutex) { + uport =3D uart_port_check(state); + if (!uport) + return -EIO; =20 - uport =3D uart_port_check(state); - if (!uport) { - ret =3D -EIO; - goto out; - } + if (tty_port_users(port) !=3D 1) + return -EBUSY; =20 - ret =3D -EBUSY; - if (tty_port_users(port) =3D=3D 1) { uart_shutdown(tty, state); =20 /* @@ -1201,14 +1190,15 @@ static int uart_do_autoconfig(struct tty_struct *tt= y, struct uart_state *state) uport->ops->config_port(uport, flags); =20 ret =3D uart_startup(tty, state, true); - if (ret =3D=3D 0) - tty_port_set_initialized(port, true); + if (ret < 0) + return ret; if (ret > 0) - ret =3D 0; + return 0; + + tty_port_set_initialized(port, true); } -out: - mutex_unlock(&port->mutex); - return ret; + + return 0; } =20 static void uart_enable_ms(struct uart_port *uport) @@ -1703,10 +1693,11 @@ static void uart_set_termios(struct tty_struct *tty, unsigned int iflag_mask =3D IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK; bool sw_changed =3D false; =20 - mutex_lock(&state->port.mutex); + guard(mutex)(&state->port.mutex); + uport =3D uart_port_check(state); if (!uport) - goto out; + return; =20 /* * Drivers doing software flow control also need to know @@ -1729,9 +1720,8 @@ static void uart_set_termios(struct tty_struct *tty, tty->termios.c_ospeed =3D=3D old_termios->c_ospeed && tty->termios.c_ispeed =3D=3D old_termios->c_ispeed && ((tty->termios.c_iflag ^ old_termios->c_iflag) & iflag_mask) =3D=3D 0= && - !sw_changed) { - goto out; - } + !sw_changed) + return; =20 uart_change_line_settings(tty, state, old_termios); /* reload cflag from termios; port driver may have overridden flags */ @@ -1748,8 +1738,6 @@ static void uart_set_termios(struct tty_struct *tty, mask |=3D TIOCM_RTS; uart_set_mctrl(uport, mask); } -out: - mutex_unlock(&state->port.mutex); } =20 /* @@ -2043,10 +2031,11 @@ static void uart_line_info(struct seq_file *m, stru= ct uart_driver *drv, int i) unsigned int status; int mmio; =20 - mutex_lock(&port->mutex); + guard(mutex)(&port->mutex); + uport =3D uart_port_check(state); if (!uport) - goto out; + return; =20 mmio =3D uport->iotype >=3D UPIO_MEM; seq_printf(m, "%d: uart:%s %s%08llX irq:%d", @@ -2058,7 +2047,7 @@ static void uart_line_info(struct seq_file *m, struct= uart_driver *drv, int i) =20 if (uport->type =3D=3D PORT_UNKNOWN) { seq_putc(m, '\n'); - goto out; + return; } =20 if (capable(CAP_SYS_ADMIN)) { @@ -2109,8 +2098,6 @@ static void uart_line_info(struct seq_file *m, struct= uart_driver *drv, int i) seq_putc(m, '\n'); #undef STATBIT #undef INFOBIT -out: - mutex_unlock(&port->mutex); } =20 static int uart_proc_show(struct seq_file *m, void *v) @@ -2387,13 +2374,12 @@ int uart_suspend_port(struct uart_driver *drv, stru= ct uart_port *uport) struct device *tty_dev; struct uart_match match =3D {uport, drv}; =20 - mutex_lock(&port->mutex); + guard(mutex)(&port->mutex); =20 tty_dev =3D device_find_child(&uport->port_dev->dev, &match, serial_match= _port); if (tty_dev && device_may_wakeup(tty_dev)) { enable_irq_wake(uport->irq); put_device(tty_dev); - mutex_unlock(&port->mutex); return 0; } put_device(tty_dev); @@ -2454,8 +2440,6 @@ int uart_suspend_port(struct uart_driver *drv, struct= uart_port *uport) console_stop(uport->cons); =20 uart_change_pm(state, UART_PM_STATE_OFF); -unlock: - mutex_unlock(&port->mutex); =20 return 0; } @@ -2469,14 +2453,13 @@ int uart_resume_port(struct uart_driver *drv, struc= t uart_port *uport) struct uart_match match =3D {uport, drv}; struct ktermios termios; =20 - mutex_lock(&port->mutex); + guard(mutex)(&port->mutex); =20 tty_dev =3D device_find_child(&uport->port_dev->dev, &match, serial_match= _port); if (!uport->suspended && device_may_wakeup(tty_dev)) { if (irqd_is_wakeup_set(irq_get_irq_data((uport->irq)))) disable_irq_wake(uport->irq); put_device(tty_dev); - mutex_unlock(&port->mutex); return 0; } put_device(tty_dev); @@ -2549,8 +2532,6 @@ int uart_resume_port(struct uart_driver *drv, struct = uart_port *uport) tty_port_set_suspended(port, false); } =20 - mutex_unlock(&port->mutex); - return 0; } EXPORT_SYMBOL(uart_resume_port); --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 589A0558BC; Mon, 5 Aug 2024 10:21:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853262; cv=none; b=tOB30/eZmhsHxF8Kar4Kku+aT9jxaqa8UbTHxkzGuSDmOhEfM0D/SstuKD7uFDF50Rqt4k2E8x0DarGs1SC9MJk6DOvavP0sXeRvghc55Y6iiU2e2qwRF5T96o6sTOLZcrvu3QsJ+Qiwvf2Fu9qDVXt5Lq+qQJ4Kp00y8uj2y+4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853262; c=relaxed/simple; bh=gJTxTjqmJCVhdU9++PAKLolxpY0IlAQM2n9t5U9kci0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dj0K0ASHfEUpHBkcgUFtui9h1r6cQ58u+lOuKU8g+iDKhshTAJ5S1q8zM6S7rRUYZr6yyWYcsvs5Jv0APZMc5w3WJT1kW/JzHXud93MVcAUJ+ojrFfV2Z+hevOpZKDdjJ1bF3+NbC7bHzkBiYqAIq95r51QFlPGw9OebYEunKjo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=qieHvDXn; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="qieHvDXn" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2E51DC4AF0E; Mon, 5 Aug 2024 10:21:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853262; bh=gJTxTjqmJCVhdU9++PAKLolxpY0IlAQM2n9t5U9kci0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qieHvDXntXOUIdPEFDPYTMdoX6TV+wURbFswO9KsIFH4v+qhpHnV15RBARS54g935 kdItlOlQlqbsg1Z0CWlK1oyLlWfrDqIXJQDmOiCEUgOfZ4qbQAe4gUx1g3ew1ck10c 2MjiQ+FlzYZNHekuScDkXtQlQf6YKkzEIvztMbV8kFlFkIoPRFy01CpO33Jty9P15p 9VThE7EZXWLKhYzQYYTWFrYAZBiPSjIixKhVEAWkMaBfp1d+7xVtMGms+ysCYLrLdi tW18Ocby3DI69wdjevel7k97hhbuiVzLb8XQFmGtFacnCcYwseYNd2A47ArigeOWze jMyJriybhHWXw== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 06/13] mxser: remove stale comment Date: Mon, 5 Aug 2024 12:20:39 +0200 Message-ID: <20240805102046.307511-7-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" The comment mentions ISA removed long time ago. It also comments on .driver_data pointing to above structures. That is not true either. Remove that. Signed-off-by: Jiri Slaby (SUSE) Cc: Greg Kroah-Hartman --- drivers/tty/mxser.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c index 5b97e420a95f..9a9a67b5afa0 100644 --- a/drivers/tty/mxser.c +++ b/drivers/tty/mxser.c @@ -208,9 +208,6 @@ static const struct { }; #define UART_INFO_NUM ARRAY_SIZE(Gpci_uart_info) =20 - -/* driver_data correspond to the lines in the structure above - see also ISA probe function before you change something */ static const struct pci_device_id mxser_pcibrds[] =3D { { PCI_DEVICE_DATA(MOXA, C168, 8) }, { PCI_DEVICE_DATA(MOXA, C104, 4) }, --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 380B615B96C; Mon, 5 Aug 2024 10:21:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853264; cv=none; b=ciDLuO7tXsgCERMM7c56BCp6j1kVywLQCDkV5KrFoQwUnF2dB2fJ5ABQRDOp/RYE/OXrAo1RQk6x3AR9MVj1arN4RXSEmsKWOs92opph7t3SD/o57iH5F8hHrhes6FDivnVXkZ2UZ4e3G5zr28HIB4c380CHp8QCKLT6CgXjBQ8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853264; c=relaxed/simple; bh=snzCKqe+A40N2hgIp+p7f4DkpzeZjbNgpbd31jwyFAg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ppYmKEEM8i75JHmBcxSZ2HmxHBNKSKpUs+IM+c+U8Dzn9fNmcBWf6mIAQ8VjNgm2sxTRFqVBEv4vzNhALIlHw9RgA0p9SwctPYd2+ekudWdQHy36L9ByIlE3fVQ0MQRkz3W8HYmcs0Z8yiue/n8Gtmk8MGpfLD2gWNAwMVBG6j0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=R1v92u9V; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="R1v92u9V" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A4866C4AF0F; Mon, 5 Aug 2024 10:21:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853263; bh=snzCKqe+A40N2hgIp+p7f4DkpzeZjbNgpbd31jwyFAg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=R1v92u9VwlFuC9eFlsUaFWPADJR/odGYP1Od8gvaZuoVNmfS/QJy9jdISQ7wq9lbi /JmMBTBaTqoUM387NAduBK+a3K7HRBaYDgQG5LGu9q8aeqsjXnlW0cdHi8kwRbEv/l P26HRt4FhZl9mtkYN+u/aMHsBlUw/b+80d11MHqgNFADTNDLt4YW7pIxZ+Q2iVx7wh ns0Iv7zu97AARFcrsKyMULH864Abc/N3bOnumOY3i5PRDKfvDQDCUfp8UjzFyE8Eim pxY6G5yS4j5eaJmnR+dW+/HkzGRfBa65R/K4UqCwq3wApSjfn5Qhb7An7U+IqKoI3L 7AeXUYS6x0DtA== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 07/13] mxser: remove doubled sets of close times Date: Mon, 5 Aug 2024 12:20:40 +0200 Message-ID: <20240805102046.307511-8-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" tty_port::close_delay and ::closing_wait are set in tty_port_init() few lines above already, no need to reset them (to the same values). Signed-off-by: Jiri Slaby (SUSE) Cc: Greg Kroah-Hartman --- drivers/tty/mxser.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c index 9a9a67b5afa0..6cfef88a18e3 100644 --- a/drivers/tty/mxser.c +++ b/drivers/tty/mxser.c @@ -1770,8 +1770,6 @@ static void mxser_initbrd(struct mxser_board *brd, bo= ol high_baud) =20 mxser_process_txrx_fifo(info); =20 - info->port.close_delay =3D 5 * HZ / 10; - info->port.closing_wait =3D 30 * HZ; spin_lock_init(&info->slock); =20 /* before set INT ISR, disable all int */ --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CE64815B99D; Mon, 5 Aug 2024 10:21:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853266; cv=none; b=mFHpxzcDFwTCnbv78pMkZZ3FZB4viM5Ud0gcL5EjYN2N8Ex08QVO+EvPd9Vi9WxsDulLoyq6ukTzzz91BextsNxojbGHFMLJApEKRoYOswrcBP41Ij67AYcqW8tYUbFCr1JE5fqopOKUYyxQOP8FbFHfCIbJitflmhtfJOTS9YQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853266; c=relaxed/simple; bh=9Fik8RXRQRa2crOyQlS1nroMylh+Z+5N4egxIxbBjx0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=klEUddxaW82RF5V5MCaxOGSlNJIxJRs8FwkX065DXaemjPUvzpH7yelKg+qyLAuAXHnzr3r2g7X9pjTpZ7IU6bNk/J6W25+IMFTihWWq9/LsnqRsmY9SUQF1Q4P0oseHfMbBXzCg7+5Yx0Cm7i7RUUcJUcLZ04nWsMfLkRROzec= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=eUiDXu22; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="eUiDXu22" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2FB14C32782; Mon, 5 Aug 2024 10:21:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853266; bh=9Fik8RXRQRa2crOyQlS1nroMylh+Z+5N4egxIxbBjx0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eUiDXu22uB+jbLMph18hBLd/KCcOpYlxMPBisM53NfJD624xvBT1xw5G0sB7ATIAg 78zkxf2hgsDgGOaRgopFdiJuMsGQJ5l7921xAAnYhmGXQIQiHmExHcncJUw8KGMJaJ Dk0mRDZIg3RuwZDfBtgyXJrMibNd3Nk3hI5V/Uzspymd8d5sTKncay2pPY1D4374RL V0j4Tg+tZ516U3PEzWv0t5v2TG2tlPWsTcjRgGXhbhgnFpK1ckm+ZOBELLESiGGjFo f2NgbJuSLg+OISfrxIQ1j9B+3AR2a0sqE8Dcfsqx4Q87QXz4/j2upBKjTccoCPJnVx UBXeHhIN/Lc6A== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Jeremy Kerr , Matt Johnston , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org Subject: [PATCH 08/13] mctp: serial: propagage new tty types Date: Mon, 5 Aug 2024 12:20:41 +0200 Message-ID: <20240805102046.307511-9-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" In tty, u8 is now used for data, ssize_t for sizes (with possible negative error codes). Propagate these types (and use unsigned in next_chunk_len()) to mctp. Signed-off-by: Jiri Slaby (SUSE) Cc: Greg Kroah-Hartman Cc: Jeremy Kerr Cc: Matt Johnston Cc: "David S. Miller" Cc: Eric Dumazet Cc: Jakub Kicinski Cc: Paolo Abeni Cc: netdev@vger.kernel.org Reviewed-by: Jeremy Kerr --- drivers/net/mctp/mctp-serial.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/drivers/net/mctp/mctp-serial.c b/drivers/net/mctp/mctp-serial.c index 5bf6fdff701c..78bd59b0930d 100644 --- a/drivers/net/mctp/mctp-serial.c +++ b/drivers/net/mctp/mctp-serial.c @@ -64,18 +64,18 @@ struct mctp_serial { u16 txfcs, rxfcs, rxfcs_rcvd; unsigned int txlen, rxlen; unsigned int txpos, rxpos; - unsigned char txbuf[BUFSIZE], + u8 txbuf[BUFSIZE], rxbuf[BUFSIZE]; }; =20 -static bool needs_escape(unsigned char c) +static bool needs_escape(u8 c) { return c =3D=3D BYTE_ESC || c =3D=3D BYTE_FRAME; } =20 -static int next_chunk_len(struct mctp_serial *dev) +static unsigned int next_chunk_len(struct mctp_serial *dev) { - int i; + unsigned int i; =20 /* either we have no bytes to send ... */ if (dev->txpos =3D=3D dev->txlen) @@ -99,7 +99,7 @@ static int next_chunk_len(struct mctp_serial *dev) return i; } =20 -static int write_chunk(struct mctp_serial *dev, unsigned char *buf, int le= n) +static ssize_t write_chunk(struct mctp_serial *dev, u8 *buf, size_t len) { return dev->tty->ops->write(dev->tty, buf, len); } @@ -108,9 +108,10 @@ static void mctp_serial_tx_work(struct work_struct *wo= rk) { struct mctp_serial *dev =3D container_of(work, struct mctp_serial, tx_work); - unsigned char c, buf[3]; unsigned long flags; - int len, txlen; + ssize_t txlen; + unsigned int len; + u8 c, buf[3]; =20 spin_lock_irqsave(&dev->lock, flags); =20 @@ -293,7 +294,7 @@ static void mctp_serial_rx(struct mctp_serial *dev) dev->netdev->stats.rx_bytes +=3D dev->rxlen; } =20 -static void mctp_serial_push_header(struct mctp_serial *dev, unsigned char= c) +static void mctp_serial_push_header(struct mctp_serial *dev, u8 c) { switch (dev->rxpos) { case 0: @@ -323,7 +324,7 @@ static void mctp_serial_push_header(struct mctp_serial = *dev, unsigned char c) } } =20 -static void mctp_serial_push_trailer(struct mctp_serial *dev, unsigned cha= r c) +static void mctp_serial_push_trailer(struct mctp_serial *dev, u8 c) { switch (dev->rxpos) { case 0: @@ -347,7 +348,7 @@ static void mctp_serial_push_trailer(struct mctp_serial= *dev, unsigned char c) } } =20 -static void mctp_serial_push(struct mctp_serial *dev, unsigned char c) +static void mctp_serial_push(struct mctp_serial *dev, u8 c) { switch (dev->rxstate) { case STATE_IDLE: @@ -394,7 +395,7 @@ static void mctp_serial_tty_receive_buf(struct tty_stru= ct *tty, const u8 *c, const u8 *f, size_t len) { struct mctp_serial *dev =3D tty->disc_data; - int i; + size_t i; =20 if (!netif_running(dev->netdev)) return; --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 55646156C62; Mon, 5 Aug 2024 10:21:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853269; cv=none; b=ZzTFwMAMh7tIxtZGNH/N8EOjZrZc1iBtPqjZQzcIk7s+PBtIiZtfdp+50edbmQxqJiM4g/u6DbG8Eo4rhxQ9saSqPKnr0MN1153Wfbdsj7LpT3jeJgKDmR3+fvf3ubC/Sn/QDWsyQn7+obeFD98Ebg+KVESC9B8CzoNS/52Hn20= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853269; c=relaxed/simple; bh=/O2/TlWp3zMCUKUw2fsXXmxsmDVNGJDzCxv0rpypKf4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f6IyuTtz3edn9roO9NsENopudVKa4RmIOki87cE04KdKiHCuNBOEJJ/PxsKi+QVLMkZwRYYbBkLkPjUGDb6Ejg/v2vosZtlkvQGfiMxcLpD9tnoVlWZDzVZbUT2cvagbayG+XTsnkvwpzj3+n3OBB4O8nYtFdFILbDeZfnGJxQI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=N+FZoTC+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="N+FZoTC+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E40A4C4AF10; Mon, 5 Aug 2024 10:21:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853269; bh=/O2/TlWp3zMCUKUw2fsXXmxsmDVNGJDzCxv0rpypKf4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N+FZoTC+68x2Ffbm/j8evQ8oJ0Bu+jSjLMPny1gejiLok5T0S8NhgAhA7iv5a4+uX 8bqlzR8jbcE6J3DZfcyERozXAncaedmmJu9C9Uhd0RGJDYH/s28lR0++hH1IGC21GM 3ichC/HKPZADvktqDBT/iz4trfEKKuSKqKKolynWhfPvf6A1DSPmJx+mpwgI9eupUK hJKZi2+3hMoT2vaAUFWp5AeA5mN4QGVH1EBRvsdZPL4FG9URkXZ58Sal2RdNy/DciZ T3E7+ebGh84DfyVd0WAXzJ46PL+yjXbKoFxQ2Nh5K1cJdecy8Fowit5s3rwy9Ux1ZE 6MAnm8zSmiImw== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Andreas Koensgen , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-hams@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH 09/13] 6pack: remove sixpack::rbuff Date: Mon, 5 Aug 2024 12:20:42 +0200 Message-ID: <20240805102046.307511-10-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" It's unused (except allocation and free). Signed-off-by: Jiri Slaby (SUSE) Cc: Greg Kroah-Hartman Cc: Andreas Koensgen Cc: "David S. Miller" Cc: Eric Dumazet Cc: Jakub Kicinski Cc: Paolo Abeni Cc: linux-hams@vger.kernel.org Cc: netdev@vger.kernel.org --- drivers/net/hamradio/6pack.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/net/hamradio/6pack.c b/drivers/net/hamradio/6pack.c index 6ed38a3cdd73..29906901a734 100644 --- a/drivers/net/hamradio/6pack.c +++ b/drivers/net/hamradio/6pack.c @@ -88,7 +88,6 @@ struct sixpack { struct net_device *dev; /* easy for intr handling */ =20 /* These are pointers to the malloc()ed frame buffers. */ - unsigned char *rbuff; /* receiver buffer */ int rcount; /* received chars counter */ unsigned char *xbuff; /* transmitter buffer */ unsigned char *xhead; /* next byte to XMIT */ @@ -544,7 +543,7 @@ static inline int tnc_init(struct sixpack *sp) */ static int sixpack_open(struct tty_struct *tty) { - char *rbuff =3D NULL, *xbuff =3D NULL; + char *xbuff =3D NULL; struct net_device *dev; struct sixpack *sp; unsigned long len; @@ -574,10 +573,8 @@ static int sixpack_open(struct tty_struct *tty) =20 len =3D dev->mtu * 2; =20 - rbuff =3D kmalloc(len + 4, GFP_KERNEL); xbuff =3D kmalloc(len + 4, GFP_KERNEL); - - if (rbuff =3D=3D NULL || xbuff =3D=3D NULL) { + if (xbuff =3D=3D NULL) { err =3D -ENOBUFS; goto out_free; } @@ -586,7 +583,6 @@ static int sixpack_open(struct tty_struct *tty) =20 sp->tty =3D tty; =20 - sp->rbuff =3D rbuff; sp->xbuff =3D xbuff; =20 sp->mtu =3D AX25_MTU + 73; @@ -631,7 +627,6 @@ static int sixpack_open(struct tty_struct *tty) =20 out_free: kfree(xbuff); - kfree(rbuff); =20 free_netdev(dev); =20 @@ -676,7 +671,6 @@ static void sixpack_close(struct tty_struct *tty) del_timer_sync(&sp->resync_t); =20 /* Free all 6pack frame buffers after unreg. */ - kfree(sp->rbuff); kfree(sp->xbuff); =20 free_netdev(sp->dev); --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 18C3315ECD7; Mon, 5 Aug 2024 10:21:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853272; cv=none; b=BRc2YLgc1C1tHBiJ6OGBnH+PTEiLKzlNE8UHI0J6fVzKcTeTLHOEIzJter5UMHiYcFIPtIR1OZIUugbKgdhVntO+yTPVmtrLya3okE/D9f+6ko61XpcytTReyKVRUPp0oikNOU9poWvM8kt3rsTJ1aZ1UzyUi2Btdm+2OzzTEJM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853272; c=relaxed/simple; bh=Y/kZ6pKUemi1ebXpTMHlyUEYKL9YeGqV57QiLnAlE98=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LIY+M0GOe6KL3Cy16kMSUAN6gmJpv8tl5nI1BS+QRRjVqh9a985kHbqK26TWsklHOr2hZSwI2wVeGeDiP44PGlAdleqLHQ+8/PY0E2+IpZO73Xona2bo7TlcHwFnvkJN0k4Jq84GvWNZpaU8+m+zrkYFhVBEH3cSrQzQW0LUsQ8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=A/cvscT6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="A/cvscT6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3955C4AF0D; Mon, 5 Aug 2024 10:21:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853272; bh=Y/kZ6pKUemi1ebXpTMHlyUEYKL9YeGqV57QiLnAlE98=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=A/cvscT6e4SLxEeXha5o18ZK46G7glG9XZgCfau+ksJVZytwWXVHuaVPeKjjpOFKK CZUY+DKhf6WApVNIdoZU9bkSspTVBS54v1gR/9OqFCxjZiDUXa+5w4XkgKPoTAKMGA ZXDXebW/IXtiCZE93tNttP6MXEw7R4PRIEMzkO6TdlKBcctQ4+GMc2xcqMhKkfHMF3 DyIzLOr4skAnvnJ1rN8tu2UhHXjshdmuYJe+I1RfSVFNwNNaxushxjlgyD+inoUOwp AHIxVxA6w9Hjvlt/hIZns+MKOfj2noQb+VdvW0QKnQ3cGEFFyFNjjSvQRy46vt9ZbS 1jARtj3o1Tn9A== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Andreas Koensgen , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-hams@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH 10/13] 6pack: drop sixpack::mtu Date: Mon, 5 Aug 2024 12:20:43 +0200 Message-ID: <20240805102046.307511-11-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" It holds a constant (AX25_MTU + 73), so use that constant in place of the single use directly. And remove the stale comment. Signed-off-by: Jiri Slaby (SUSE) Cc: Greg Kroah-Hartman Cc: Andreas Koensgen Cc: "David S. Miller" Cc: Eric Dumazet Cc: Jakub Kicinski Cc: Paolo Abeni Cc: linux-hams@vger.kernel.org Cc: netdev@vger.kernel.org --- drivers/net/hamradio/6pack.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/hamradio/6pack.c b/drivers/net/hamradio/6pack.c index 29906901a734..f8235b1b60e9 100644 --- a/drivers/net/hamradio/6pack.c +++ b/drivers/net/hamradio/6pack.c @@ -100,7 +100,6 @@ struct sixpack { unsigned int rx_count_cooked; spinlock_t rxlock; =20 - int mtu; /* Our mtu (to spot changes!) */ int buffsize; /* Max buffers sizes */ =20 unsigned long flags; /* Flag values/ mode etc */ @@ -166,7 +165,7 @@ static void sp_encaps(struct sixpack *sp, unsigned char= *icp, int len) unsigned char *msg, *p =3D icp; int actual, count; =20 - if (len > sp->mtu) { /* sp->mtu =3D AX25_MTU =3D max. PACLEN =3D 256 */ + if (len > AX25_MTU + 73) { msg =3D "oversized transmit packet!"; goto out_drop; } @@ -585,7 +584,6 @@ static int sixpack_open(struct tty_struct *tty) =20 sp->xbuff =3D xbuff; =20 - sp->mtu =3D AX25_MTU + 73; sp->buffsize =3D len; sp->rcount =3D 0; sp->rx_count =3D 0; --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C703815EFCC; Mon, 5 Aug 2024 10:21:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853274; cv=none; b=S75LnazikDoOzYsFvoJXGmxQI6XwHGip14UgizM+XNLBRwWkFtlJWpSKWd03946AkdUgkQ/a57azgvJrhyu19NV7qoV7oACrTUvboookTkwgLAXbg8FWSmOSo3Uw+1t0NlOOtBykcTE7cUCauPj1tNyuvENqa6aS+XLMLlijetA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853274; c=relaxed/simple; bh=/bx8JyDtijw2rJHtb+tZ3h5JPdq8AmW/Z7d+AJaqE4k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=X2yRCfPD/a+RvlWXwE+TxpGpwIl2tgcOQ7YKeVGEhPie48SqNUA2uFIuoF4kENv8dHuCgdIHk/ZZtGZvWxq2vfyNpNpOinofW9GbuQU4uY55j4KIgJLI/xV4/KspV4BRm8jYwM+Sir7GqLiS9aKV4DjbocFQZSXCBYu4Bj/45u8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=sSWUy8Oi; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="sSWUy8Oi" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 638DAC4AF0D; Mon, 5 Aug 2024 10:21:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853274; bh=/bx8JyDtijw2rJHtb+tZ3h5JPdq8AmW/Z7d+AJaqE4k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sSWUy8OiwyY1dp3BF1PzQOPb5rXZeRbDRtWeuUI20h226MwW8re8Pgkr7dZ1aNpbK EmZslc8ziuqnOV0/x8f6tUu46ALIJVV9vpUTFvBubLG3UG3/6oHgrc3Y2LKywg3qvy iGSDJIbes97+thPWuCxk3gPj7VcxDQ27hMNhMj3E7Gz+q6vRU1KTl+tXC56ZO9mIZO 6oik4jrVJTg6rm1TLsstFjfoYpAfpDCXQCDXt9w+GoHzHeGF1LA7+tu7Y/Roz0jUVo pRd/A0QhG0OV2eTteFYV30Xo+tn2BOwESUtLfc9WmBOqFdjBp8X/Zz8ArcRo7Zm+ic aHAYIo5rRrRig== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Andreas Koensgen , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-hams@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH 11/13] 6pack: drop sixpack::buffsize Date: Mon, 5 Aug 2024 12:20:44 +0200 Message-ID: <20240805102046.307511-12-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" It's never read. Signed-off-by: Jiri Slaby (SUSE) Cc: Greg Kroah-Hartman Cc: Andreas Koensgen Cc: "David S. Miller" Cc: Eric Dumazet Cc: Jakub Kicinski Cc: Paolo Abeni Cc: linux-hams@vger.kernel.org Cc: netdev@vger.kernel.org --- drivers/net/hamradio/6pack.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/hamradio/6pack.c b/drivers/net/hamradio/6pack.c index f8235b1b60e9..25d6d2308130 100644 --- a/drivers/net/hamradio/6pack.c +++ b/drivers/net/hamradio/6pack.c @@ -100,8 +100,6 @@ struct sixpack { unsigned int rx_count_cooked; spinlock_t rxlock; =20 - int buffsize; /* Max buffers sizes */ - unsigned long flags; /* Flag values/ mode etc */ unsigned char mode; /* 6pack mode */ =20 @@ -584,7 +582,6 @@ static int sixpack_open(struct tty_struct *tty) =20 sp->xbuff =3D xbuff; =20 - sp->buffsize =3D len; sp->rcount =3D 0; sp->rx_count =3D 0; sp->rx_count_cooked =3D 0; --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CE78015FA9E; Mon, 5 Aug 2024 10:21:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853277; cv=none; b=IJt8bz/+OKUN4GoDG5xmjINv4nUJLaYnBG5wSJBhPEuBCWwDeGDxQxzfJPUymlrEdSGjiBPRg4Y9DPhLmkE241MddchI75LKttxS3Maak1s+ku3MwxPAelZuHWWJ5tPMCCT8KvmYSQOURnMqlEs/PWyXBFnU2y2uwK18jL1xIXw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853277; c=relaxed/simple; bh=NHQzYLisZFxJp8w+mTR6u58VzbcedQc9/+93I90ZlQo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=V7KAiXmIpF1ZSUK5IN0XA6Rt08Kw+91i++NxuiEE9gUDemc4fp9CfmraagBXZEoSw9WG61HBCN6vQ6DrKHskruHC/OVrt/GyPPFMhQPXkmGf/dCtlBo4P+vm/MSUDNIO3QGfv56vjA+B6QMy9K/ZeHWOmxc1aFSoRMCHmGBKRHA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VEkg/8X2; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VEkg/8X2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 22800C32782; Mon, 5 Aug 2024 10:21:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853277; bh=NHQzYLisZFxJp8w+mTR6u58VzbcedQc9/+93I90ZlQo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VEkg/8X22UM60oSoWfb6uLB8Vjy03nCCmNYhP1o0V+KZRtS9eattJAy0W78L+IM2z kBlimKONQVvJm5oEE5qwcrF+uinYDvQCONGe0XZ/g8lRvwdEa4Zh49JydUARb2FsEB Ey1KTRnSOeM5mCWWDt0M9xffGNs6a46vvsZzVeCPsqRGGRJVrG7PlgZ+Nv+8M3cFyM pgyFcX+C508Vv4skFtz3J/2sUnvtJrVAM/iyYF+rBDZIjZAOGmEPuLZ8gjCxcfJP8N cJlgx8G7j8ekK/tjBnwHGipn1IzFahVbg8P1KFDGC607WBN8A0eD/+cFaTd/jdOW/b ZiDYduaDmA14g== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Andreas Koensgen , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-hams@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH 12/13] 6pack: remove global strings Date: Mon, 5 Aug 2024 12:20:45 +0200 Message-ID: <20240805102046.307511-13-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" They are __init, so they are freed after init is done. But this obfuscates the code. Provided these days, we usually don't print anything if everything has gone fine, drop the info print completely (along with now unused and always artificial SIXPACK_VERSION). And move the other string into the printk proper (while converting from KERN_ERR to pr_err()). Signed-off-by: Jiri Slaby (SUSE) Cc: Greg Kroah-Hartman Cc: Andreas Koensgen Cc: "David S. Miller" Cc: Eric Dumazet Cc: Jakub Kicinski Cc: Paolo Abeni Cc: linux-hams@vger.kernel.org Cc: netdev@vger.kernel.org --- drivers/net/hamradio/6pack.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/drivers/net/hamradio/6pack.c b/drivers/net/hamradio/6pack.c index 25d6d2308130..5c47730f5d58 100644 --- a/drivers/net/hamradio/6pack.c +++ b/drivers/net/hamradio/6pack.c @@ -37,8 +37,6 @@ #include #include =20 -#define SIXPACK_VERSION "Revision: 0.3.0" - /* sixpack priority commands */ #define SIXP_SEOF 0x40 /* start and end of a 6pack frame */ #define SIXP_TX_URUN 0x48 /* transmit overrun */ @@ -745,21 +743,14 @@ static struct tty_ldisc_ops sp_ldisc =3D { =20 /* Initialize 6pack control device -- register 6pack line discipline */ =20 -static const char msg_banner[] __initconst =3D KERN_INFO \ - "AX.25: 6pack driver, " SIXPACK_VERSION "\n"; -static const char msg_regfail[] __initconst =3D KERN_ERR \ - "6pack: can't register line discipline (err =3D %d)\n"; - static int __init sixpack_init_driver(void) { int status; =20 - printk(msg_banner); - /* Register the provided line protocol discipline */ status =3D tty_register_ldisc(&sp_ldisc); if (status) - printk(msg_regfail, status); + pr_err("6pack: can't register line discipline (err =3D %d)\n", status); =20 return status; } --=20 2.46.0 From nobody Fri Dec 19 20:53:07 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 50996165EF1; Mon, 5 Aug 2024 10:21:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853280; cv=none; b=omAPqh3rsTpfD+osO5vgQOYLDQey7OaX3zWQYIMch/eYCCNQpY+aSVg5EoG+9HdIGp7FlfkzBudXiXXOft40AHoMaBDwL166BhRUJlRkd+LRAN/UH007eNHyACBJn5avR2I2iDOgPXCSA/WRoYLlWR06wqTUHXVjIcJ28APQY30= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722853280; c=relaxed/simple; bh=UTNt9b26mQWZHW0TPCLWfErk9+9NMWIJfFgYZHzW/Wc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=n3m7mr7Lps+nFEQoiyR42x5fJ025oW3EQCktdMoXlkR8mrWqbv/9sNKf5i2uxNBX08TF1OU11B6b0Ca55ySPuBMQfIVjDkwEUXQzjMVaz1Wnwj9HQSBX6Q67D7DZMuCnxWeDvadKo168qEg+1E+ZjPhyhY8aYkFxDnuF12xy+Lk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WapI0yCn; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WapI0yCn" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D5B38C4AF0D; Mon, 5 Aug 2024 10:21:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722853280; bh=UTNt9b26mQWZHW0TPCLWfErk9+9NMWIJfFgYZHzW/Wc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WapI0yCngBCE5c2SNP9W/lPrqFLrVQ0ceeV4igrs5u8Semeb5mvQUaLid0mtRX4oP lct/25I9Dg7wVEF3ElCrvifB+dH+Dv4gG8lpGNIZuL0t81CHJY5H/Z7RpVpJrI1lLj urQqqML02c3GUVjuLyafJI9AeTeU5jqhxNvbqc9aatqdgeVuElHBNpbQOoOb8vHsYl FBPfIa0vvDoys4MG4zX0pMh3P8eOxg7oT0Lo6Nz4v97qtRuBLwMNTI2bid76is3nNE WNYTYTBs6weQiBzqMoTKDvQdgNXjI8XHO45ARk2Z9XQwbeHo6+DKIjgm6HX30u3OLz Q3d9n91pYrPjg== From: "Jiri Slaby (SUSE)" To: gregkh@linuxfoundation.org Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Andreas Koensgen , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-hams@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH 13/13] 6pack: propagage new tty types Date: Mon, 5 Aug 2024 12:20:46 +0200 Message-ID: <20240805102046.307511-14-jirislaby@kernel.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240805102046.307511-1-jirislaby@kernel.org> References: <20240805102046.307511-1-jirislaby@kernel.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" In tty, u8 is now used for data, ssize_t for sizes (with possible negative error codes). Propagate these types to 6pack. Signed-off-by: Jiri Slaby (SUSE) Cc: Greg Kroah-Hartman Cc: Andreas Koensgen Cc: "David S. Miller" Cc: Eric Dumazet Cc: Jakub Kicinski Cc: Paolo Abeni Cc: linux-hams@vger.kernel.org Cc: netdev@vger.kernel.org --- drivers/net/hamradio/6pack.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/net/hamradio/6pack.c b/drivers/net/hamradio/6pack.c index 5c47730f5d58..3bf6785f9057 100644 --- a/drivers/net/hamradio/6pack.c +++ b/drivers/net/hamradio/6pack.c @@ -91,8 +91,8 @@ struct sixpack { unsigned char *xhead; /* next byte to XMIT */ int xleft; /* bytes left in XMIT queue */ =20 - unsigned char raw_buf[4]; - unsigned char cooked_buf[400]; + u8 raw_buf[4]; + u8 cooked_buf[400]; =20 unsigned int rx_count; unsigned int rx_count_cooked; @@ -107,8 +107,8 @@ struct sixpack { unsigned char slottime; unsigned char duplex; unsigned char led_state; - unsigned char status; - unsigned char status1; + u8 status; + u8 status1; unsigned char status2; unsigned char tx_enable; unsigned char tnc_state; @@ -122,7 +122,7 @@ struct sixpack { =20 #define AX25_6PACK_HEADER_LEN 0 =20 -static void sixpack_decode(struct sixpack *, const unsigned char[], int); +static void sixpack_decode(struct sixpack *, const u8 *, size_t); static int encode_sixpack(unsigned char *, unsigned char *, int, unsigned = char); =20 /* @@ -327,7 +327,7 @@ static void sp_bump(struct sixpack *sp, char cmd) { struct sk_buff *skb; int count; - unsigned char *ptr; + u8 *ptr; =20 count =3D sp->rcount + 1; =20 @@ -425,7 +425,7 @@ static void sixpack_receive_buf(struct tty_struct *tty,= const u8 *cp, const u8 *fp, size_t count) { struct sixpack *sp; - int count1; + size_t count1; =20 if (!count) return; @@ -800,9 +800,9 @@ static int encode_sixpack(unsigned char *tx_buf, unsign= ed char *tx_buf_raw, =20 /* decode 4 sixpack-encoded bytes into 3 data bytes */ =20 -static void decode_data(struct sixpack *sp, unsigned char inbyte) +static void decode_data(struct sixpack *sp, u8 inbyte) { - unsigned char *buf; + u8 *buf; =20 if (sp->rx_count !=3D 3) { sp->raw_buf[sp->rx_count++] =3D inbyte; @@ -828,9 +828,9 @@ static void decode_data(struct sixpack *sp, unsigned ch= ar inbyte) =20 /* identify and execute a 6pack priority command byte */ =20 -static void decode_prio_command(struct sixpack *sp, unsigned char cmd) +static void decode_prio_command(struct sixpack *sp, u8 cmd) { - int actual; + ssize_t actual; =20 if ((cmd & SIXP_PRIO_DATA_MASK) !=3D 0) { /* idle ? */ =20 @@ -878,9 +878,9 @@ static void decode_prio_command(struct sixpack *sp, uns= igned char cmd) =20 /* identify and execute a standard 6pack command byte */ =20 -static void decode_std_command(struct sixpack *sp, unsigned char cmd) +static void decode_std_command(struct sixpack *sp, u8 cmd) { - unsigned char checksum =3D 0, rest =3D 0; + u8 checksum =3D 0, rest =3D 0; short i; =20 switch (cmd & SIXP_CMD_MASK) { /* normal command */ @@ -928,10 +928,10 @@ static void decode_std_command(struct sixpack *sp, un= signed char cmd) /* decode a 6pack packet */ =20 static void -sixpack_decode(struct sixpack *sp, const unsigned char *pre_rbuff, int cou= nt) +sixpack_decode(struct sixpack *sp, const u8 *pre_rbuff, size_t count) { - unsigned char inbyte; - int count1; + size_t count1; + u8 inbyte; =20 for (count1 =3D 0; count1 < count; count1++) { inbyte =3D pre_rbuff[count1]; --=20 2.46.0