On Mon, Nov 07, 2016 at 04:52:09PM +0100, Wolfram Sang wrote:
> On Mon, Nov 07, 2016 at 04:42:53PM +0100, Simon Horman wrote:
> > From: Takatoshi Akiyama <takatoshi.akiyama...@ps.hitachi-solutions.com>
> > 
> > The SCSCR register access in sci_break_ctl() is not locked.
> > 
> > sci_start_tx() and sci_set_termios() changes the SCSCR register,
> > but does not lock sci_port.
> 
> Maybe naive question: Shouldn't stop_tx and/or (start|stop)_rx be
> protected, too? They change SCSCR as well?

In the case of stop_tx, this is installed as a callback where
the caller takes the lock.

In the case of start_rx, I think the lock should be taken in
sci_rx_dma_release() as other callers already take the lock.

In the case of stop_rx, this is both installed as a callback and
called directly. In both cases the caller takes the lock.

> 
> > Therefore, this patch adds lock during register access.
> > 
> > Also, remove the log output that leads to a double lock.
> > 
> > Signed-off-by: Takatoshi Akiyama 
> > <takatoshi.akiyama...@ps.hitachi-solutions.com>
> > Signed-off-by: Takeshi Kihara <takeshi.kihara...@renesas.com>
> > Signed-off-by: Simon Horman <horms+rene...@verge.net.au>


Reply via email to