diff options
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/cmd.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/cmd.c b/drivers/net/ethernet/mellanox/mlx4/cmd.c index 4f7dc044601e..529ef0594b90 100644 --- a/drivers/net/ethernet/mellanox/mlx4/cmd.c +++ b/drivers/net/ethernet/mellanox/mlx4/cmd.c | |||
@@ -714,8 +714,13 @@ static int mlx4_cmd_wait(struct mlx4_dev *dev, u64 in_param, u64 *out_param, | |||
714 | msecs_to_jiffies(timeout))) { | 714 | msecs_to_jiffies(timeout))) { |
715 | mlx4_warn(dev, "command 0x%x timed out (go bit not cleared)\n", | 715 | mlx4_warn(dev, "command 0x%x timed out (go bit not cleared)\n", |
716 | op); | 716 | op); |
717 | err = -EIO; | 717 | if (op == MLX4_CMD_NOP) { |
718 | goto out_reset; | 718 | err = -EBUSY; |
719 | goto out; | ||
720 | } else { | ||
721 | err = -EIO; | ||
722 | goto out_reset; | ||
723 | } | ||
719 | } | 724 | } |
720 | 725 | ||
721 | err = context->result; | 726 | err = context->result; |