[PATCH 21/28] staging: most: fix retrieval of buffer availability

Christian Gromm christian.gromm at microchip.com
Tue Jan 12 12:26:51 UTC 2016


On Thu, 24 Dec 2015 22:27:13 +0530
Sudip Mukherjee <sudipm.mukherjee at gmail.com> wrote:

> On Tue, Dec 22, 2015 at 10:53:02AM +0100, Christian Gromm wrote:
> > This patch fixes the function channel_has_mbo that delivers the false
> > information in case two AIMs are using the same tx channel.
> > 
> > Signed-off-by: Christian Gromm <christian.gromm at microchip.com>
> > ---
> > 
> <snip>
> > diff --git a/drivers/staging/most/mostcore/core.c b/drivers/staging/most/mostcore/core.c
> > index b085f0a..ff0e0dc 100644
> > --- a/drivers/staging/most/mostcore/core.c
> > +++ b/drivers/staging/most/mostcore/core.c
> > @@ -1352,7 +1352,7 @@ most_c_obj *get_channel_by_iface(struct most_interface *iface, int id)
> >  	return i->channel[id];
> >  }
> >  
> > -int channel_has_mbo(struct most_interface *iface, int id)
> > +int channel_has_mbo(struct most_interface *iface, int id, struct most_aim *aim)
> >  {
> >  	struct most_c_obj *c = get_channel_by_iface(iface, id);
> >  	unsigned long flags;
> > @@ -1361,6 +1361,11 @@ int channel_has_mbo(struct most_interface *iface, int id)
> >  	if (unlikely(!c))
> >  		return -EINVAL;
> >  
> > +	if (c->aim0.refs && c->aim1.refs &&
> > +	    ((aim == c->aim0.ptr && c->aim0.num_buffers <= 0) ||
> > +	     (aim == c->aim1.ptr && c->aim1.num_buffers <= 0)))
> > +		return false;
> 
> channel_has_mbo() return int. maybe return 0 instead of return false..

Right. I'll go ahead and post an update of this.

Thanks,
Chris

> 
> regards
> sudip



More information about the devel mailing list