Messages in this thread | | | From | "Winkler, Tomas" <> | Subject | RE: [char-misc-next RESEND] mei: bus: enable non-blocking RX | Date | Tue, 6 Dec 2016 10:08:20 +0000 |
| |
> > On Sat, Dec 03, 2016 at 12:15:25AM +0200, Tomas Winkler wrote: > > From: Alexander Usyskin <alexander.usyskin@intel.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@intel.com> > > Signed-off-by: Tomas Winkler <tomas.winkler@intel.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
| |