diff options
Diffstat (limited to 'drivers/infiniband/hw/mlx4/main.c')
| -rw-r--r-- | drivers/infiniband/hw/mlx4/main.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index 75d30562930..669673e8143 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c @@ -253,6 +253,11 @@ static int ib_link_query_port(struct ib_device *ibdev, u8 port,  		if (out_mad->data[15] & 0x1)  			props->active_speed = IB_SPEED_FDR10;  	} + +	/* Avoid wrong speed value returned by FW if the IB link is down. */ +	if (props->state == IB_PORT_DOWN) +		 props->active_speed = IB_SPEED_SDR; +  out:  	kfree(in_mad);  	kfree(out_mad);  |