[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5B8DA87D05A7694D9FA63FD143655C1B5433778D@hasmsx108.ger.corp.intel.com>
Date: Tue, 6 Dec 2016 10:08:20 +0000
From: "Winkler, Tomas" <tomas.winkler@...el.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
CC: "Usyskin, Alexander" <alexander.usyskin@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [char-misc-next RESEND] mei: bus: enable non-blocking RX
>
> On Sat, Dec 03, 2016 at 12:15:25AM +0200, Tomas Winkler wrote:
> > From: Alexander Usyskin <alexander.usyskin@...el.com>
> >
> > 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 <alexander.usyskin@...el.com>
> > Signed-off-by: Tomas Winkler <tomas.winkler@...el.com>
> > ---
> > 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
Powered by blists - more mailing lists