diff options
author | Daniel Vetter | 2017-02-26 21:34:42 +0100 |
---|---|---|
committer | Daniel Vetter | 2017-02-26 21:34:42 +0100 |
commit | 8e22e1b3499a446df48c2b26667ca36c55bf864c (patch) | |
tree | 5329f98b3eb3c95a9dcbab0fa4f9b6e62f0e788d /drivers/net/ethernet/mellanox/mlx4/intf.c | |
parent | drm: Add name for DRM_DP_DUAL_MODE_LSPCON (diff) | |
parent | lib/Kconfig: make PRIME_NUMBERS not user selectable. (diff) | |
download | kernel-qcow2-linux-8e22e1b3499a446df48c2b26667ca36c55bf864c.tar.gz kernel-qcow2-linux-8e22e1b3499a446df48c2b26667ca36c55bf864c.tar.xz kernel-qcow2-linux-8e22e1b3499a446df48c2b26667ca36c55bf864c.zip |
Merge airlied/drm-next into drm-misc-next
Backmerge the main pull request to sync up with all the newly landed
drivers. Otherwise we'll have chaos even before 4.12 started in
earnest.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/intf.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/intf.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/intf.c b/drivers/net/ethernet/mellanox/mlx4/intf.c index 0e8b7c44931f..8258d08acd8c 100644 --- a/drivers/net/ethernet/mellanox/mlx4/intf.c +++ b/drivers/net/ethernet/mellanox/mlx4/intf.c @@ -222,6 +222,18 @@ void mlx4_unregister_device(struct mlx4_dev *dev) return; mlx4_stop_catas_poll(dev); + if (dev->persist->interface_state & MLX4_INTERFACE_STATE_DELETION && + mlx4_is_slave(dev)) { + /* In mlx4_remove_one on a VF */ + u32 slave_read = + swab32(readl(&mlx4_priv(dev)->mfunc.comm->slave_read)); + + if (mlx4_comm_internal_err(slave_read)) { + mlx4_dbg(dev, "%s: comm channel is down, entering error state.\n", + __func__); + mlx4_enter_error_state(dev->persist); + } + } mutex_lock(&intf_mutex); list_for_each_entry(intf, &intf_list, list) |