On Tue, May 02, 2017 at 07:41:34AM -0500, Rob Herring wrote: > On Tue, May 2, 2017 at 4:06 AM, Johan Hovold <johan@xxxxxxxxxx> wrote: > > On Fri, Apr 28, 2017 at 01:47:21PM +0200, Stefan Wahren wrote: > >> Starting with commit 6fe729c4bdae ("serdev: Add serdev_device_write > >> subroutine") the function serdev_device_write_buf cannot be used in > >> atomic context anymore (mutex_lock is sleeping). So restore the old > >> behavior. > > > > Yeah, preventing use in atomic context seems unnecessary, although any > > clients writing must now deal with serialisation themselves (as before, > > and as they should). > > We could just remove the mutex for serdev_device_write and always make > the client responsible for serialization. That sounds reasonable. > > Calling wait_for_completion in the non-blocking case was also needlessly > > inefficient. > > It won't be called because count should be 0. That's not guaranteed; count would be nonzero whenever the tty driver does not accept the full buffer and then we'd currently end up calling wait_for_completion_timeout() with a zero-timeout instead of just returning immediately. Johan -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html