Re: patch "TTY: remove tty_locked" added to tty tree

Jiri Slaby
2011-08-24T11:47:44Z

On 08/24/2011 01:20 PM, Arnd Bergmann wrote:
> It's not clear to me what state->mutex protects in the serial_core, but
> it has been around forever (used to be called state->sem)

It was actually moved in uart_close back in 2003. Formerly (when there
was only a coarse grained port_sem) it was right before uart_shutdown.
But there were some flags to handle some races. I'm not sure whether the
flags protected any race here though.

> and is held in
> all uart functions, which is at least consistent. IIRC what Alan's plan
> for this was, uart_close should eventually get changed to use
> tty_port_close_start or even tty_port_close. Maybe the time for that has
> come now, lacking better alternatives?

Yes, I have such a patch in my queue. But it's not easy to get there.
You may take a look at:
http://decibel.fi.muni.cz/gitweb/?p=linux.git;a=shortlog;h=refs/heads/devel

But it's still far from ready. And yet, in the queue, I still have
port->mutex locked before tty_port_close_start like it is now.

> A lot of other drivers call tty_port_close_start() before taking port->mutex.

Yes, that's true. That's why I wrote that before. But most of the
drivers doesn't have so complex locking dependencies like uart.

thanks,
--
js
suse labs