Re: [PATCH v2] serial: sifive: lock port in startup()/shutdown() callbacks
From: Ryo Takakura
Date: Thu Apr 10 2025 - 10:26:04 EST
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@xxxxxxxxx>
>> Cc: stable@xxxxxxxxxxxxxxx
>
>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@xxxxxxxx>
Thanks for reviewing this one as well!
I'll send v3 with your Reviewed-by.
Sincerely,
Ryo Takakura
>Best Regards,
>Petr