diff mbox

[RESEND,infiniband-diags] saquery.c: Fix changing qos_class flag value to network order twice

Message ID 5703B531.3000505@dev.mellanox.co.il (mailing list archive)
State Accepted, archived
Delegated to: Ira Weiny
Headers show

Commit Message

Hal Rosenstock April 5, 2016, 12:53 p.m. UTC
From: Dan Ben Yosef <danby@mellanox.com>

Fix the qos_class flag value from being converted to network order twice.
The first time is in "CHECK_AND_SET_VAL" and the second is inside
"ib_path_rec_set_qos_class".

Signed-off-by: Dan Ben Yosef <danby@mellanox.com>
Signed-off-by: Hal Rosenstock <hal@mellanox.com>
---
 src/saquery.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)



--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Ira Weiny May 14, 2016, 3:34 p.m. UTC | #1
On Tue, Apr 05, 2016 at 08:53:05AM -0400, Hal Rosenstock wrote:
> From: Dan Ben Yosef <danby@mellanox.com>
> 
> Fix the qos_class flag value from being converted to network order twice.
> The first time is in "CHECK_AND_SET_VAL" and the second is inside
> "ib_path_rec_set_qos_class".
> 
> Signed-off-by: Dan Ben Yosef <danby@mellanox.com>
> Signed-off-by: Hal Rosenstock <hal@mellanox.com>

Thanks applied,
Ira

> ---
>  src/saquery.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/src/saquery.c b/src/saquery.c
> index c0f42e8..ea946a1 100644
> --- a/src/saquery.c
> +++ b/src/saquery.c
> @@ -1065,8 +1065,9 @@ static int query_path_records(const struct query_cmd *q, struct sa_handle * h,
>  	pr.num_path |= reversible << 7;
>  	CHECK_AND_SET_VAL(p->pkey, 16, 0, pr.pkey, PR, PKEY);
>  	CHECK_AND_SET_VAL(p->sl, 16, -1, pr.qos_class_sl, PR, SL);
> -	CHECK_AND_SET_VAL(p->qos_class, 16, -1, qos_class, PR, QOS_CLASS);
> -	ib_path_rec_set_qos_class(&pr, qos_class);
> +	CHECK_AND_SET_VAL((p->qos_class << 4), 16, -1, qos_class, PR, QOS_CLASS);
> +	pr.qos_class_sl = (pr.qos_class_sl & CL_HTON16(IB_PATH_REC_SL_MASK)) |
> +			  qos_class;
>  	CHECK_AND_SET_VAL_AND_SEL(p->mtu, pr.mtu, PR, MTU, SELEC);
>  	CHECK_AND_SET_VAL_AND_SEL(p->rate, pr.rate, PR, RATE, SELEC);
>  	CHECK_AND_SET_VAL_AND_SEL(p->pkt_life, pr.pkt_life, PR, PKTLIFETIME,
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/src/saquery.c b/src/saquery.c
index c0f42e8..ea946a1 100644
--- a/src/saquery.c
+++ b/src/saquery.c
@@ -1065,8 +1065,9 @@  static int query_path_records(const struct query_cmd *q, struct sa_handle * h,
 	pr.num_path |= reversible << 7;
 	CHECK_AND_SET_VAL(p->pkey, 16, 0, pr.pkey, PR, PKEY);
 	CHECK_AND_SET_VAL(p->sl, 16, -1, pr.qos_class_sl, PR, SL);
-	CHECK_AND_SET_VAL(p->qos_class, 16, -1, qos_class, PR, QOS_CLASS);
-	ib_path_rec_set_qos_class(&pr, qos_class);
+	CHECK_AND_SET_VAL((p->qos_class << 4), 16, -1, qos_class, PR, QOS_CLASS);
+	pr.qos_class_sl = (pr.qos_class_sl & CL_HTON16(IB_PATH_REC_SL_MASK)) |
+			  qos_class;
 	CHECK_AND_SET_VAL_AND_SEL(p->mtu, pr.mtu, PR, MTU, SELEC);
 	CHECK_AND_SET_VAL_AND_SEL(p->rate, pr.rate, PR, RATE, SELEC);
 	CHECK_AND_SET_VAL_AND_SEL(p->pkt_life, pr.pkt_life, PR, PKTLIFETIME,