Re: [PATCH v2] USB: serial: xr: Add TIOCGRS485 and TIOCSRS485 ioctls

From: Jarkko Sonninen
Date: Mon Mar 13 2023 - 06:47:28 EST


    Hello,

It uses only one flag from the struct from user. Would it be better to store only that to state ?

Do I need locking at all in that case ?

The whole struct is stored just in case, if someone would implement other functionality later.

    - Jarkko


Oliver Neukum kirjoitti 13/03/2023 klo 11.54:


On 13.03.23 09:27, Jarkko Sonninen wrote:
Add support for RS-485 in Exar USB adapters.
RS-485 mode is controlled by TIOCGRS485 and TIOCSRS485 ioctls.
Gpio mode register is set to enable RS-485.

Signed-off-by: Jarkko Sonninen <kasper@xxxxxx>


Hi,

I am sorry, but locking is really broken here. All these contexts can sleep.
There is no need for a spinlock. As far as you need locking, just use a mutex.

Secondly, if xr_set_rs485_config() needs locking, so will xr_get_rs485_config()
or you can get the case that you return half a new and half an old state to user
space.

    Regards
        Oliver