On Thu, 10 Apr 2025 13:29:43 +0200, Petr Mladek wrote:
On Sat 2025-04-05 23:53:54, Ryo Takakura wrote:
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 Cc: stable@vger.kernel.org
I do not have the hardware around so I could not test it. But the change make sense. It fixes a real race. And the code looks reasonable:
Reviewed-by: Petr Mladek pmladek@suse.com
Thanks for reviewing this one as well! I'll send v3 with your Reviewed-by.
Sincerely, Ryo Takakura
Best Regards, Petr