Skip to contentSkip to conversation

IB/mlx5: Set the default active rate and width to QDR and 4X

PATCH Applied Honggang LI 4 participants 4 messages Mar 16, 2018 – Mar 19, 2018

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 IB/mlx5: Set the default active rate and width to QDR and 4X

From: Honggang Li <[email protected]>

commit f1b65df5a232 ("IB/mlx5: Add support for active_width and active_speed in RoCE"). Before this patch applied, the mlx5_ib driver set default active_width and active_speed to IB_WIDTH_4X and IB_SPEED_QDR.

When the RoCE port is down, the RoCE port did not negotiate the active width with remote side. The active width is zero. If run ibstat to require the port status, ibstat will panic as it read invalid width from sys file.

This patch restores the original behavior.

Fixes f1b65df5a232 ("IB/mlx5: Add support for active_width and active_speed in RoCE").
---
 drivers/infiniband/hw/mlx5/main.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/infiniband/hw/mlx5/main.c +3 -0
index 033b6af90de9..a48e9730fab8 100644
@@ -388,6 +388,9 @@ static int mlx5_query_port_roce(struct ib_device *device, u8 port_num,
 	if (err)
 		goto out;
 
+	props->active_width     = IB_WIDTH_4X;
+	props->active_speed     = IB_SPEED_QDR;
+
 	translate_eth_proto_oper(eth_prot_oper, &props->active_speed,
 				 &props->active_width);
 
Signature · 1 line
2.14.GIT
Reviewed-by on v1 1/1
#1 lore raw
Quoted 12 lines · Honggang LI

From: Honggang Li <[email protected]>

commit f1b65df5a232 ("IB/mlx5: Add support for active_width and active_speed in RoCE"). Before this patch applied, the mlx5_ib driver set default active_width and active_speed to IB_WIDTH_4X and IB_SPEED_QDR.

When the RoCE port is down, the RoCE port did not negotiate the active width with remote side. The active width is zero. If run ibstat to require the port status, ibstat will panic as it read invalid width from sys file.

Quoted 4 lines

This patch restores the original behavior.

Fixes f1b65df5a232 ("IB/mlx5: Add support for active_width and active_speed in RoCE").
Quoted 19 lines
---
 drivers/infiniband/hw/mlx5/main.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/infiniband/hw/mlx5/main.c +3 -0
index 033b6af90de9..a48e9730fab8 100644
@@ -388,6 +388,9 @@ static int mlx5_query_port_roce(struct ib_device *device, u8 port_num,
 	if (err)
 		goto out;
 
+	props->active_width     = IB_WIDTH_4X;
+	props->active_speed     = IB_SPEED_QDR;
+
 	translate_eth_proto_oper(eth_prot_oper, &props->active_speed,
 				 &props->active_width);
 
Reviewed-by
#2 lore raw
Quoted 13 lines · Hal Rosenstock
Quoted 12 lines · Honggang LI

From: Honggang Li <[email protected]>

commit f1b65df5a232 ("IB/mlx5: Add support for active_width and active_speed in RoCE"). Before this patch applied, the mlx5_ib driver set default active_width and active_speed to IB_WIDTH_4X and IB_SPEED_QDR.

When the RoCE port is down, the RoCE port did not negotiate the active width with remote side. The active width is zero. If run ibstat to require the port status, ibstat will panic as it read invalid width from sys file.

Quoted 5 lines
Quoted 4 lines

This patch restores the original behavior.

Fixes f1b65df5a232 ("IB/mlx5: Add support for active_width and active_speed in RoCE").
Quoted 20 lines
Quoted 20 lines
---
 drivers/infiniband/hw/mlx5/main.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/infiniband/hw/mlx5/main.c +3 -0
index 033b6af90de9..a48e9730fab8 100644
@@ -388,6 +388,9 @@ static int mlx5_query_port_roce(struct ib_device *device, u8 port_num,
 	if (err)
 		goto out;
 
+	props->active_width     = IB_WIDTH_4X;
+	props->active_speed     = IB_SPEED_QDR;
+
 	translate_eth_proto_oper(eth_prot_oper, &props->active_speed,
 				 &props->active_width);
 
#3 lore raw
In reply to Honggang LI
Quoted 12 lines · Honggang LI

From: Honggang Li <[email protected]>

commit f1b65df5a232 ("IB/mlx5: Add support for active_width and active_speed in RoCE"). Before this patch applied, the mlx5_ib driver set default active_width and active_speed to IB_WIDTH_4X and IB_SPEED_QDR.

When the RoCE port is down, the RoCE port did not negotiate the active width with remote side. The active width is zero. If run ibstat to require the port status, ibstat will panic as it read invalid width from sys file.

Quoted 8 lines

This patch restores the original behavior.

Fixes f1b65df5a232 ("IB/mlx5: Add support for active_width and active_speed in RoCE").
 drivers/infiniband/hw/mlx5/main.c | 3 +++
 1 file changed, 3 insertions(+)

Applied to for-next, thanks

Jason