diff options
author | Javed Hasan <[email protected]> | 2021-03-31 09:49:17 -0700 |
---|---|---|
committer | Martin K. Petersen <[email protected]> | 2021-04-13 00:26:12 -0400 |
commit | 9d6f87c25ad57b52a4dc8c2d904ead37fe829512 (patch) | |
tree | 11ce2b1ff29becdf458d3d079f46d404bc5328d7 | |
parent | 4aab946f789ed7c2e44481f395ab2eab0b63824a (diff) |
scsi: qedf: Use devlink to report errors and recovery
Use devlink_health_report() to push error indications.
Implement this in qede via a callback function to make it possible to reuse
it for other drivers sitting on top of qed in future. Also remove forcible
recovery trigger and put it as a normal devlink callback in qed module.
This allows user to enable/disable it via:
devlink health set pci/xxxx:xx:xx.x reporter fw_fatal auto_recover false
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Javed Hasan <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
-rw-r--r-- | drivers/scsi/qedf/qedf_main.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c index b8d016914eee..69f7784233f9 100644 --- a/drivers/scsi/qedf/qedf_main.c +++ b/drivers/scsi/qedf/qedf_main.c @@ -3859,8 +3859,9 @@ void qedf_schedule_hw_err_handler(void *dev, enum qed_hw_err_type err_type) /* Prevent HW attentions from being reasserted */ qed_ops->common->attn_clr_enable(qedf->cdev, true); - if (qedf_enable_recovery) - qed_ops->common->recovery_process(qedf->cdev); + if (qedf_enable_recovery && qedf->devlink) + qed_ops->common->report_fatal_error(qedf->devlink, + err_type); break; default: |