diff options
author | Saeed Mahameed <saeedm@mellanox.com> | 2016-11-10 04:30:59 -0500 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-11-16 20:04:48 -0500 |
commit | 6fa26208206c406fa529cd73f7ae6bf4181e270b (patch) | |
tree | 716cd56df0a4a5d8ee4907347ae432596076709c | |
parent | 731e0415b4af3a133d0316e4dc8ef0ea57dc3fdf (diff) |
IB/mlx4: Fix port query for 56Gb Ethernet links
Report the correct speed in the port attributes when using a 56Gbps
ethernet link. Without this change the field is incorrectly set to 10.
Fixes: a9c766bb75ee ('IB/mlx4: Fix info returned when querying IBoE ports')
Fixes: 2e96691c31ec ('IB: Use central enum for speed instead of hard-coded values')
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Daniel Jurgens <danielj@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r-- | drivers/infiniband/hw/mlx4/main.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index 05ab3cb34cb3..4054a1bfabb5 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c | |||
@@ -698,9 +698,11 @@ static int eth_link_query_port(struct ib_device *ibdev, u8 port, | |||
698 | if (err) | 698 | if (err) |
699 | goto out; | 699 | goto out; |
700 | 700 | ||
701 | props->active_width = (((u8 *)mailbox->buf)[5] == 0x40) ? | 701 | props->active_width = (((u8 *)mailbox->buf)[5] == 0x40) || |
702 | IB_WIDTH_4X : IB_WIDTH_1X; | 702 | (((u8 *)mailbox->buf)[5] == 0x20 /*56Gb*/) ? |
703 | props->active_speed = IB_SPEED_QDR; | 703 | IB_WIDTH_4X : IB_WIDTH_1X; |
704 | props->active_speed = (((u8 *)mailbox->buf)[5] == 0x20 /*56Gb*/) ? | ||
705 | IB_SPEED_FDR : IB_SPEED_QDR; | ||
704 | props->port_cap_flags = IB_PORT_CM_SUP | IB_PORT_IP_BASED_GIDS; | 706 | props->port_cap_flags = IB_PORT_CM_SUP | IB_PORT_IP_BASED_GIDS; |
705 | props->gid_tbl_len = mdev->dev->caps.gid_table_len[port]; | 707 | props->gid_tbl_len = mdev->dev->caps.gid_table_len[port]; |
706 | props->max_msg_sz = mdev->dev->caps.max_msg_sz; | 708 | props->max_msg_sz = mdev->dev->caps.max_msg_sz; |