From: oulijun <oulijun@huawei.com>
To: Dan Carpenter <dan.carpenter@oracle.com>
Cc: "Wei Hu(Xavier)" <xavier.huwei@huawei.com>,
Doug Ledford <dledford@redhat.com>,
Sean Hefty <sean.hefty@intel.com>,
Hal Rosenstock <hal.rosenstock@gmail.com>,
linux-rdma@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: Re: [patch 2/2] IB/hns: Fix some error handling in hns_roce_v1_query_qp()
Date: Mon, 24 Oct 2016 12:29:36 +0000 [thread overview]
Message-ID: <580DFEB0.20100@huawei.com> (raw)
In-Reply-To: <20161014073441.GB15238@mwanda>
在 2016/10/14 15:34, Dan Carpenter 写道:
> to_ib_qp_state() returns IB_QPS_ERR (6) on error, it doesn't return -1.
>
> Fixes: 9a4435375cd1 ('IB/hns: Add driver files for hns RoCE driver')
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v1.c b/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> index 58b150e..280abac 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> @@ -2544,7 +2544,7 @@ int hns_roce_v1_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr,
> QP_CONTEXT_QPC_BYTES_144_QP_STATE_M,
> QP_CONTEXT_QPC_BYTES_144_QP_STATE_S);
> tmp_qp_state = (int)to_ib_qp_state((enum hns_roce_qp_state)state);
> - if (tmp_qp_state = -1) {
> + if (tmp_qp_state = IB_QPS_ERR) {
> dev_err(dev, "to_ib_qp_state error\n");
> ret = -EINVAL;
> goto out;
>
> .
>
Hi, Dan Carpenter
After checking your modification, I think that it maybe fix this:
static enum ib_qp_state to_ib_qp_state(enum hns_roce_qp_state state)
{
switch (state) {
case HNS_ROCE_QP_STATE_RST:
return IB_QPS_RESET;
case HNS_ROCE_QP_STATE_INIT:
return IB_QPS_INIT;
case HNS_ROCE_QP_STATE_RTR:
return IB_QPS_RTR;
case HNS_ROCE_QP_STATE_RTS:
return IB_QPS_RTS;
case HNS_ROCE_QP_STATE_SQD:
return IB_QPS_SQD;
case HNS_ROCE_QP_STATE_ERR:
return IB_QPS_ERR;
default:
return -1;
}
}
because the IB_QPS_ERR is legal state, but the tmp_qp_state should return a illegal state when
the the to_ib_qp_state executed the default branch.
thanks
Lijun Ou
WARNING: multiple messages have this Message-ID (diff)
From: oulijun <oulijun@huawei.com>
To: Dan Carpenter <dan.carpenter@oracle.com>
Cc: "Wei Hu(Xavier)" <xavier.huwei@huawei.com>,
Doug Ledford <dledford@redhat.com>,
Sean Hefty <sean.hefty@intel.com>,
Hal Rosenstock <hal.rosenstock@gmail.com>,
linux-rdma@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: Re: [patch 2/2] IB/hns: Fix some error handling in hns_roce_v1_query_qp()
Date: Mon, 24 Oct 2016 20:29:36 +0800 [thread overview]
Message-ID: <580DFEB0.20100@huawei.com> (raw)
In-Reply-To: <20161014073441.GB15238@mwanda>
在 2016/10/14 15:34, Dan Carpenter 写道:
> to_ib_qp_state() returns IB_QPS_ERR (6) on error, it doesn't return -1.
>
> Fixes: 9a4435375cd1 ('IB/hns: Add driver files for hns RoCE driver')
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v1.c b/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> index 58b150e..280abac 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> @@ -2544,7 +2544,7 @@ int hns_roce_v1_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr,
> QP_CONTEXT_QPC_BYTES_144_QP_STATE_M,
> QP_CONTEXT_QPC_BYTES_144_QP_STATE_S);
> tmp_qp_state = (int)to_ib_qp_state((enum hns_roce_qp_state)state);
> - if (tmp_qp_state == -1) {
> + if (tmp_qp_state == IB_QPS_ERR) {
> dev_err(dev, "to_ib_qp_state error\n");
> ret = -EINVAL;
> goto out;
>
> .
>
Hi, Dan Carpenter
After checking your modification, I think that it maybe fix this:
static enum ib_qp_state to_ib_qp_state(enum hns_roce_qp_state state)
{
switch (state) {
case HNS_ROCE_QP_STATE_RST:
return IB_QPS_RESET;
case HNS_ROCE_QP_STATE_INIT:
return IB_QPS_INIT;
case HNS_ROCE_QP_STATE_RTR:
return IB_QPS_RTR;
case HNS_ROCE_QP_STATE_RTS:
return IB_QPS_RTS;
case HNS_ROCE_QP_STATE_SQD:
return IB_QPS_SQD;
case HNS_ROCE_QP_STATE_ERR:
return IB_QPS_ERR;
default:
return -1;
}
}
because the IB_QPS_ERR is legal state, but the tmp_qp_state should return a illegal state when
the the to_ib_qp_state executed the default branch.
thanks
Lijun Ou
next prev parent reply other threads:[~2016-10-24 12:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-14 7:34 [patch 2/2] IB/hns: Fix some error handling in hns_roce_v1_query_qp() Dan Carpenter
2016-10-14 7:34 ` Dan Carpenter
2016-10-14 8:31 ` oulijun
2016-10-14 8:31 ` oulijun
2016-10-24 12:29 ` oulijun [this message]
2016-10-24 12:29 ` oulijun
[not found] ` <580DFEB0.20100-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-10-24 13:43 ` Dan Carpenter
2016-10-24 13:43 ` Dan Carpenter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=580DFEB0.20100@huawei.com \
--to=oulijun@huawei.com \
--cc=dan.carpenter@oracle.com \
--cc=dledford@redhat.com \
--cc=hal.rosenstock@gmail.com \
--cc=kernel-janitors@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=sean.hefty@intel.com \
--cc=xavier.huwei@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.