diff mbox

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

Message ID 57021F03.5030805@dev.mellanox.co.il (mailing list archive)
State Superseded, archived
Delegated to: Ira Weiny
Headers show

Commit Message

Hal Rosenstock April 4, 2016, 8 a.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
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,