> 
> On Sat, Dec 03, 2016 at 12:15:25AM +0200, Tomas Winkler wrote:
> > From: Alexander Usyskin <[email protected]>
> >
> > Enable non-blocking receive for drivers on mei bus, this allows
> > checking for data availability by mei client drivers. This is most
> > effective for fixed address clients, that lacks flow control.
> >
> > This function adds new API function mei_cldev_recv_nonblock(), it
> > retuns -EGAIN if function will block.
> >
> > Signed-off-by: Alexander Usyskin <[email protected]>
> > Signed-off-by: Tomas Winkler <[email protected]>
> > ---
> >  drivers/misc/mei/bus-fixup.c |  4 ++--
> >  drivers/misc/mei/bus.c       | 31 +++++++++++++++++++++++++++++--
> >  drivers/misc/mei/mei_dev.h   |  7 ++++++-
> >  include/linux/mei_cl_bus.h   |  6 ++++--
> >  4 files changed, 41 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/misc/mei/bus-fixup.c
> > b/drivers/misc/mei/bus-fixup.c index 7f2cef9011ae..18e05ca7584f 100644
> > --- a/drivers/misc/mei/bus-fixup.c
> > +++ b/drivers/misc/mei/bus-fixup.c
> > @@ -141,7 +141,7 @@ static int mei_osver(struct mei_cl_device *cldev)
> >     if (ret < 0)
> >             return ret;
> >
> > -   ret = __mei_cl_recv(cldev->cl, buf, length);
> > +   ret = __mei_cl_recv(cldev->cl, buf, length, 0);
> >     if (ret < 0)
> >             return ret;
> >
> > @@ -272,7 +272,7 @@ static int mei_nfc_if_version(struct mei_cl *cl,
> >             return -ENOMEM;
> >
> >     ret = 0;
> > -   bytes_recv = __mei_cl_recv(cl, (u8 *)reply, if_version_length);
> > +   bytes_recv = __mei_cl_recv(cl, (u8 *)reply, if_version_length, 0);
> 
> I still don't like this, as here are two examples of you having to somehow
> mentally keep track of the "mode" of what is going on.

I know, but I don't have better solution. We try to keep the code documented as 
much as possible.  
> 
a> But it's your code, you have to maintain it, not me, good luck!

Fair enough
Tomas 

Reply via email to