aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/mthca/mthca_provider.c
diff options
context:
space:
mode:
authorRoland Dreier <rolandd@cisco.com>2005-10-27 14:03:38 -0400
committerRoland Dreier <rolandd@cisco.com>2005-10-27 14:03:38 -0400
commit3d155f8cd0d077938d271225d26ee52f8eb26082 (patch)
tree28f65ed2dc5e9f12884daf2a97f50367f145d8a0 /drivers/infiniband/hw/mthca/mthca_provider.c
parent7cc656efb560cda66b5ed48444cad7556ea4fe99 (diff)
[IB] mthca: first pass at catastrophic error reporting
Add some initial support for detecting and reporting catastrophic errors reported by Mellanox HCAs. We start a periodic timer which polls the catastrophic error reporting buffer in device memory. If an error is detected, we dump the contents of the buffer for port-mortem debugging, and report a fatal asynchronous error to higher levels. In the future we can try to recover from these errors by resetting the device, but this will require some work in higher-level code as well. Let's get this in now, so that we at least get catastrophic errors reported in logs. Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/mthca/mthca_provider.c')
-rw-r--r--drivers/infiniband/hw/mthca/mthca_provider.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c
index 9e911a1ea415..1b9477edbd7b 100644
--- a/drivers/infiniband/hw/mthca/mthca_provider.c
+++ b/drivers/infiniband/hw/mthca/mthca_provider.c
@@ -1175,10 +1175,13 @@ int mthca_register_device(struct mthca_dev *dev)
1175 } 1175 }
1176 } 1176 }
1177 1177
1178 mthca_start_catas_poll(dev);
1179
1178 return 0; 1180 return 0;
1179} 1181}
1180 1182
1181void mthca_unregister_device(struct mthca_dev *dev) 1183void mthca_unregister_device(struct mthca_dev *dev)
1182{ 1184{
1185 mthca_stop_catas_poll(dev);
1183 ib_unregister_device(&dev->ib_dev); 1186 ib_unregister_device(&dev->ib_dev);
1184} 1187}