On Thu, Dec 17, 2015 at 03:06:45PM +0300, Dan Carpenter wrote:
> On Thu, Dec 17, 2015 at 02:00:23AM -0500, ira.we...@intel.com wrote:
> > +   mutex_lock(&uctxt->exp_lock);
> > +   /*
> > +    * The first step is to program the RcvArray entries which are complete
> > +    * groups.
> > +    */
> > +   while (ngroups && uctxt->tid_group_list.count) {
> > +           struct tid_group *grp =
> > +                   tid_group_pop(&uctxt->tid_group_list);
> > +
> > +           ret = program_rcvarray(fp, vaddr, grp, pagesets,
> > +                                  pageidx, dd->rcv_entries.group_size,
> > +                                  pages, tidlist, &tididx, &mapped);
> > +           /*
> > +            * If there was a failure to program the RcvArray
> > +            * entries for the entire group, reset the grp fields
> > +            * and add the grp back to the free group list.
> > +            */
> > +           if (ret <= 0) {
> > +                   tid_group_add_tail(grp, &uctxt->tid_group_list);
> > +                   hfi1_cdbg(TID,
> > +                             "Failed to program RcvArray group %d", ret);
> > +                   goto unlock;
> 
> We print a failure message but we still return success when ret == 0.

Not programming anything (return of 0) is allowed.  So it should not be an
error here.  User space is required to handle this case.

Ira

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to