diff options
author | Mohamad Haj Yahia <mohamad@mellanox.com> | 2016-10-25 17:36:34 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-10-29 18:00:39 +0200 |
commit | 04c0c1ab38e95105d950db5b84e727637e149ce7 (patch) | |
tree | 74621d574ebfad08b9a8fc9c0ded5c03f67d01fe /include | |
parent | net/mlx5: Fix race between PCI error handlers and health work (diff) | |
download | linux-04c0c1ab38e95105d950db5b84e727637e149ce7.tar.xz linux-04c0c1ab38e95105d950db5b84e727637e149ce7.zip |
net/mlx5: PCI error recovery health care simulation
In case that the kernel PCI error handlers are not called, we will
trigger our own recovery flow.
The health work will give priority to the kernel pci error handlers to
recover the PCI by waiting for a small period, if the pci error handlers
are not triggered the manual recovery flow will be executed.
We don't save pci state in case of manual recovery because it will ruin the
pci configuration space and we will lose dma sync.
Fixes: 89d44f0a6c73 ('net/mlx5_core: Add pci error handlers to mlx5_core driver')
Signed-off-by: Mohamad Haj Yahia <mohamad@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mlx5/driver.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index 7d9a5d08eb59..ecc451d89ccd 100644 --- a/include/linux/mlx5/driver.h +++ b/include/linux/mlx5/driver.h @@ -423,6 +423,7 @@ struct mlx5_core_health { struct workqueue_struct *wq; unsigned long flags; struct work_struct work; + struct delayed_work recover_work; }; struct mlx5_cq_table { |