aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/hw/mlx4/main.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
index 6ff6bdf28a3a..abce99ed565f 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -225,21 +225,18 @@ static int ib_link_query_port(struct ib_device *ibdev, u8 port,
225 225
226 /* If reported active speed is QDR, check if is FDR-10 */ 226 /* If reported active speed is QDR, check if is FDR-10 */
227 if (props->active_speed == IB_SPEED_QDR) { 227 if (props->active_speed == IB_SPEED_QDR) {
228 if (to_mdev(ibdev)->dev->caps.ext_port_cap[port] & 228 init_query_mad(in_mad);
229 MLX_EXT_PORT_CAP_FLAG_EXTENDED_PORT_INFO) { 229 in_mad->attr_id = MLX4_ATTR_EXTENDED_PORT_INFO;
230 init_query_mad(in_mad); 230 in_mad->attr_mod = cpu_to_be32(port);
231 in_mad->attr_id = MLX4_ATTR_EXTENDED_PORT_INFO;
232 in_mad->attr_mod = cpu_to_be32(port);
233
234 err = mlx4_MAD_IFC(to_mdev(ibdev), 1, 1, port,
235 NULL, NULL, in_mad, out_mad);
236 if (err)
237 return err;
238 231
239 /* Checking LinkSpeedActive for FDR-10 */ 232 err = mlx4_MAD_IFC(to_mdev(ibdev), 1, 1, port,
240 if (out_mad->data[15] & 0x1) 233 NULL, NULL, in_mad, out_mad);
241 props->active_speed = IB_SPEED_FDR10; 234 if (err)
242 } 235 return err;
236
237 /* Checking LinkSpeedActive for FDR-10 */
238 if (out_mad->data[15] & 0x1)
239 props->active_speed = IB_SPEED_FDR10;
243 } 240 }
244 241
245 return 0; 242 return 0;