Re: [PATCH] serdev: Restore serdev_device_write_buf for atomic context

From: Johan Hovold
Date: Mon May 08 2017 - 11:19:39 EST


On Thu, May 04, 2017 at 03:32:53PM -0500, Rob Herring wrote:
> On Thu, May 4, 2017 at 11:22 AM, Stefan Wahren <stefan.wahren@xxxxxxxx> wrote:
> > Am 02.05.2017 um 15:18 schrieb Johan Hovold:
> >> 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.
> >
> > So it's unwanted to have 2 write functions (non-atomic, atomic)?
>
> No, it's unwanted to have more than we need.
>
> Looking closer, we'd also have to ensure the wait for completion is
> not called also. So probably better to just leave it as you have done
> it.

Indeed. Sorry if my reply above was unclear on that point (i.e. that
Stefan's patch is still needed regardless of whether we keep the mutex
or not).

Thanks,
Johan