On Mon, Jul 26, 2021 at 03:45:10PM +0800, Jiapeng Chong wrote: > The error code is missing in this code scenario, add the error code > '-EINVAL' to the return value 'ret'. > > Eliminate the follow smatch warning: > > drivers/infiniband/hw/irdma/verbs.c:1344 irdma_modify_qp_roce() warn: > missing error code 'ret'. > > Reported-by: Abaci Robot <abaci@xxxxxxxxxxxxxxxxx> > Fixes: b48c24c2d710 ("RDMA/irdma: Implement device supported verb APIs") > Signed-off-by: Jiapeng Chong <jiapeng.chong@xxxxxxxxxxxxxxxxx> > --- > Changes in v2: > -For the follow advice: https://lore.kernel.org/patchwork/patch/1466463/ > > drivers/infiniband/hw/irdma/verbs.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/infiniband/hw/irdma/verbs.c b/drivers/infiniband/hw/irdma/verbs.c > index 717147e..721cb0c 100644 > --- a/drivers/infiniband/hw/irdma/verbs.c > +++ b/drivers/infiniband/hw/irdma/verbs.c > @@ -1340,8 +1340,10 @@ int irdma_modify_qp_roce(struct ib_qp *ibqp, struct ib_qp_attr *attr, > } > break; > case IB_QPS_SQD: > - if (iwqp->iwarp_state == IRDMA_QP_STATE_SQD) > + if (iwqp->iwarp_state == IRDMA_QP_STATE_SQD) { > + ret = -EINVAL; > goto exit; It is wrong, SQD-to-SQD is a valid transition and ret should be 0, which is already set at the beginning of that function. Thanks > + } > > if (iwqp->iwarp_state != IRDMA_QP_STATE_RTS) { > ret = -EINVAL; > -- > 1.8.3.1 >