On Fri, 2021-05-28 at 10:02 -0300, Jason Gunthorpe wrote: > On Thu, May 27, 2021 at 05:12:41PM -0700, Jakub Kicinski wrote: > > On Thu, 27 May 2021 10:30:11 -0700 Tony Nguyen wrote: > > > +static enum ice_status > > > +ice_aq_add_rdma_qsets(struct ice_hw *hw, u8 num_qset_grps, > > > + struct ice_aqc_add_rdma_qset_data *qset_list, > > > + u16 buf_size, struct ice_sq_cd *cd) > > > +{ > > > + struct ice_aqc_add_rdma_qset_data *list; > > > + struct ice_aqc_add_rdma_qset *cmd; > > > + struct ice_aq_desc desc; > > > + u16 i, sum_size = 0; > > > + > > > + cmd = &desc.params.add_rdma_qset; > > > + > > > + ice_fill_dflt_direct_cmd_desc(&desc, > > > ice_aqc_opc_add_rdma_qset); > > > + > > > + if (!qset_list) > > > > defensive programming Will remove this. > > > > > + return ICE_ERR_PARAM; > > > > RDMA folks, are you okay with drivers inventing their own error > > codes? > > Not really, I was ignoring it because it looks like big part of their > netdev driver layer. We have looked into how we can eliminate/minimize the use of ice_status and our assessment is that this will take a decent amount of work. We are trying to get this done. Thanks, Tony > > Having had to make tree-wide changes and deal with this cruft in > > the past I've developed a strong dislike for it. But if you're okay > > I guess it can stay, these are RDMA functions after all. > > I don't think it is a "RDMA" issue: > > $ git grep ICE_ERR_PARAM | wc -l > 168 > $ git grep -l ICE_ERR_PARAM > drivers/net/ethernet/intel/ice/ice_common.c > drivers/net/ethernet/intel/ice/ice_controlq.c > drivers/net/ethernet/intel/ice/ice_dcb.c > drivers/net/ethernet/intel/ice/ice_fdir.c > drivers/net/ethernet/intel/ice/ice_flex_pipe.c > drivers/net/ethernet/intel/ice/ice_flow.c > drivers/net/ethernet/intel/ice/ice_lib.c > drivers/net/ethernet/intel/ice/ice_main.c > drivers/net/ethernet/intel/ice/ice_nvm.c > drivers/net/ethernet/intel/ice/ice_sched.c > drivers/net/ethernet/intel/ice/ice_sriov.c > drivers/net/ethernet/intel/ice/ice_status.h > drivers/net/ethernet/intel/ice/ice_switch.c > drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c > > Jason