> >>>> + if (!ret && is_mbm_local_enabled()) > >>>> + ret = rdtgroup_assign_cntr_event(r, rdtgrp, NULL, QOS_L3_MBM_LOCAL_EVENT_ID); > > > > Now this call succeeds. The failure of the previous call is forgotten as "ret" is > > overwritten with the success code. > > It will not make this call if the first call fails because of this check. > > if (!ret && is_mbm_local_enabled()) > ret = rdtgroup_assign_cntr_event(r, rdtgrp, NULL, > QOS_L3_MBM_LOCAL_EVENT_ID); > > return ret; > > Here if (!1) evaluates to false. > > Did I miss something? You didn't. I missed the check for ret in the local case. It is still the case that callers don't care about the return value. -Tony