On 17-06-30 06:02:32, Jan Beulich wrote: > >>> Yi Sun <yi.y....@linux.intel.com> 06/30/17 1:30 PM >>> > >The input 'type' is CODE. The props->type[0] is DATA and props->type[1] is > >CODE. > >In the first iteration, the props->type[0] is DATA so that it does not match > >'type' and the second check is false too. If we use else branch here, it will > >enter the branch and return -EVINVAL. But this is not we want, right? We hope > >the second iteration should be executed to set CODE. > > I see. That'll then call for yet another solution; I don't think the code > should > stay as is. > Then, how about ASSERT() at the beginning to check if input 'type' is correct? enum cbm_type { PSR_CBM_TYPE_L3, PSR_CBM_TYPE_L3_DATA, PSR_CBM_TYPE_L3_CODE, PSR_CBM_TYPE_L2, };
ASSERT((type >= props->type[0] && type <= props->type[props->cos_num - 1]) || type == props->alt_type); We don't need 'ret' anymore with above check. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel