Patch "IB/mlx4: Use correct SL on AH query under RoCE" has been added to the 4.2-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
IB/mlx4: Use correct SL on AH query under RoCE
to the 4.2-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
ib-mlx4-use-correct-sl-on-ah-query-under-roce.patch
and it can be found in the queue-4.2 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
5e99b139f1b68acd65e36515ca347b03856dfb5aMon Sep 17 00:00:00 2001
From: Noa Osherovich <[email protected]>
Date: Thu, 30 Jul 2015 17:34:24 +0300
Subject: IB/mlx4: Use correct SL on AH query under RoCE
From: Noa Osherovich <[email protected]>
commit 5e99b139f1b68acd65e36515ca347b03856dfb5a upstream.
The mlx4 IB driver implementation for ib_query_ah used a wrong offset (28 instead of 29) when link type is Ethernet. Fixed to use the correct one.
--- drivers/infiniband/hw/mlx4/ah.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/infiniband/hw/mlx4/ah.c +5 -1
@@ -148,9 +148,13 @@ int mlx4_ib_query_ah(struct ib_ah *ibah,enum rdma_link_layer ll;memset (ah_attr,0 ,sizeof *ah_attr); - ah_attr->sl =be32_to_cpu (ah->av.ib.sl_tclass_flowlabel) >>28 ; ah_attr->port_num =be32_to_cpu (ah->av.ib.port_pd) >>24 ; ll =rdma_port_get_link_layer (ibah->device, ah_attr->port_num); +if (ll ==IB_LINK_LAYER_ETHERNET ) + ah_attr->sl =be32_to_cpu (ah->av.eth.sl_tclass_flowlabel) >>29 ; +else + ah_attr->sl =be32_to_cpu (ah->av.ib.sl_tclass_flowlabel) >>28 ; + ah_attr->dlid = ll ==IB_LINK_LAYER_INFINIBAND ?be16_to_cpu (ah->av.ib.dlid) :0 ;if (ah->av.ib.stat_rate) ah_attr->static_rate = ah->av.ib.stat_rate -MLX4_STAT_RATE_OFFSET ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.2/ib-mlx4-use-correct-sl-on-ah-query-under-roce.patch