diff options
author | Ryo Takakura <ryotkkr98@gmail.com> | 2025-04-12 09:18:47 +0900 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-04-15 15:02:39 +0200 |
commit | e1ca3ff28ab1e2c1e70713ef3fa7943c725742c3 (patch) | |
tree | 8a794ab1d0e880e4f325ee86a9378949929c59ff /rust/helpers/io.c | |
parent | ee6a44da3c87cf64d67dd02be8c0127a5bf56175 (diff) | |
download | linux-e1ca3ff28ab1e2c1e70713ef3fa7943c725742c3.tar.gz linux-e1ca3ff28ab1e2c1e70713ef3fa7943c725742c3.tar.bz2 linux-e1ca3ff28ab1e2c1e70713ef3fa7943c725742c3.zip |
serial: sifive: lock port in startup()/shutdown() callbacks
startup()/shutdown() callbacks access SIFIVE_SERIAL_IE_OFFS.
The register is also accessed from write() callback.
If console were printing and startup()/shutdown() callback
gets called, its access to the register could be overwritten.
Add port->lock to startup()/shutdown() callbacks to make sure
their access to SIFIVE_SERIAL_IE_OFFS is synchronized against
write() callback.
Fixes: 45c054d0815b ("tty: serial: add driver for the SiFive UART")
Signed-off-by: Ryo Takakura <ryotkkr98@gmail.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Cc: stable@vger.kernel.org
Reviewed-by: John Ogness <john.ogness@linutronix.de>
Rule: add
Link: https://lore.kernel.org/stable/20250330003522.386632-1-ryotkkr98%40gmail.com
Link: https://lore.kernel.org/r/20250412001847.183221-1-ryotkkr98@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'rust/helpers/io.c')
0 files changed, 0 insertions, 0 deletions