diff --git a/hif/src/hif_main.c b/hif/src/hif_main.c index bf6cc1da5282..a6d67354693d 100644 --- a/hif/src/hif_main.c +++ b/hif/src/hif_main.c @@ -713,7 +713,7 @@ void hif_check_detection_latency(struct hif_softc *scn, return; latency: - qdf_check_state_before_panic(__func__, __LINE__); + qdf_trigger_self_recovery(NULL, QDF_TASKLET_CREDIT_LATENCY_DETECT); } static void hif_latency_detect_timeout_handler(void *arg) diff --git a/qdf/inc/qdf_types.h b/qdf/inc/qdf_types.h index 04cec0e4f8e6..0eb01bdb1520 100644 --- a/qdf/inc/qdf_types.h +++ b/qdf/inc/qdf_types.h @@ -1351,6 +1351,7 @@ enum qdf_suspend_type { * @QDF_WMI_BUF_SEQUENCE_MISMATCH: WMI Tx completion buffer sequence mismatch * @QDF_HAL_REG_WRITE_FAILURE: HAL register writing failures * @QDF_SUSPEND_NO_CREDIT: host lack of credit after suspend + * @QDF_TASKLET_CREDIT_LATENCY_DETECT: tasklet or credit latency happened */ enum qdf_hang_reason { QDF_REASON_UNSPECIFIED, @@ -1376,6 +1377,7 @@ enum qdf_hang_reason { QDF_WMI_BUF_SEQUENCE_MISMATCH, QDF_HAL_REG_WRITE_FAILURE, QDF_SUSPEND_NO_CREDIT, + QDF_TASKLET_CREDIT_LATENCY_DETECT, }; /**