diff options
author | Jack Morgenstein <jackm@dev.mellanox.co.il> | 2007-07-12 17:50:45 +0300 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2007-07-17 18:37:42 -0700 |
commit | ee49bd9397cd2b8fe7a1962505d81c1d0a1366fc (patch) | |
tree | 064800f1ebcf6c2586f6727aa03c85e875b96289 /drivers/net/mlx4/intf.c | |
parent | 41179e2de6962b46d1d9f2b4437243ac740efdec (diff) |
mlx4_core: Reset device when internal error is detected
Reset the device when an internal error is detected.
Also, detect errors by polling the error buffer rather than using
interrupts. This is more robust and doesn't depend on MSI-X. Remove
the old interrupt handler entirely, since we don't want to support two
mechanisms for detecting internal errors.
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/net/mlx4/intf.c')
-rw-r--r-- | drivers/net/mlx4/intf.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/mlx4/intf.c b/drivers/net/mlx4/intf.c index 9ae951bf6aa..be5d9e90ccf 100644 --- a/drivers/net/mlx4/intf.c +++ b/drivers/net/mlx4/intf.c @@ -142,6 +142,7 @@ int mlx4_register_device(struct mlx4_dev *dev) mlx4_add_device(intf, priv); mutex_unlock(&intf_mutex); + mlx4_start_catas_poll(dev); return 0; } @@ -151,6 +152,7 @@ void mlx4_unregister_device(struct mlx4_dev *dev) struct mlx4_priv *priv = mlx4_priv(dev); struct mlx4_interface *intf; + mlx4_stop_catas_poll(dev); mutex_lock(&intf_mutex); list_for_each_entry(intf, &intf_list, list) |