On Thu, Dec 17, 2015 at 02:00:23AM -0500, ira.weiny@xxxxxxxxx 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. > + } regards, dan carpenter _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel