Merge "remoteproc: qcom: q6v5: Early notify clients when recovery is disabled"

This commit is contained in:
qctecmdr 2024-01-22 23:45:33 -08:00 committed by Gerrit - the friendly Code Review server
commit d4435b97e9

View File

@ -5,7 +5,7 @@
* Copyright (C) 2016-2018 Linaro Ltd.
* Copyright (C) 2014 Sony Mobile Communications AB
* Copyright (c) 2012-2013, 2020-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/kernel.h>
#include <linux/platform_device.h>
@ -121,14 +121,13 @@ static irqreturn_t q6v5_wdog_interrupt(int irq, void *data)
"disabled and lead to device crash" :
"enabled and kick reovery process");
if (q6v5->rproc->recovery_disabled) {
schedule_work(&q6v5->crash_handler);
} else {
if (q6v5->ssr_subdev)
qcom_notify_early_ssr_clients(q6v5->ssr_subdev);
if (q6v5->ssr_subdev)
qcom_notify_early_ssr_clients(q6v5->ssr_subdev);
if (q6v5->rproc->recovery_disabled)
schedule_work(&q6v5->crash_handler);
else
rproc_report_crash(q6v5->rproc, RPROC_WATCHDOG);
}
return IRQ_HANDLED;
}
@ -156,14 +155,14 @@ static irqreturn_t q6v5_fatal_interrupt(int irq, void *data)
dev_err(q6v5->dev, "rproc recovery state: %s\n",
q6v5->rproc->recovery_disabled ? "disabled and lead to device crash" :
"enabled and kick reovery process");
if (q6v5->rproc->recovery_disabled) {
schedule_work(&q6v5->crash_handler);
} else {
if (q6v5->ssr_subdev)
qcom_notify_early_ssr_clients(q6v5->ssr_subdev);
if (q6v5->ssr_subdev)
qcom_notify_early_ssr_clients(q6v5->ssr_subdev);
if (q6v5->rproc->recovery_disabled)
schedule_work(&q6v5->crash_handler);
else
rproc_report_crash(q6v5->rproc, RPROC_FATAL_ERROR);
}
return IRQ_HANDLED;
}