]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: qedf: Use devlink to report errors and recovery
authorJaved Hasan <jhasan@marvell.com>
Wed, 31 Mar 2021 16:49:17 +0000 (09:49 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 13 Apr 2021 04:26:12 +0000 (00:26 -0400)
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/20210331164917.24662-3-jhasan@marvell.com
Signed-off-by: Javed Hasan <jhasan@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qedf/qedf_main.c

index b8d016914eeef19857e56dd1e0c07b579300cfce..69f7784233f938ce9d6ebda1b0262da86fe49a02 100644 (file)
@@ -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: