diff --git a/icnss2/main.c b/icnss2/main.c index 1f82a06250..790cf48237 100644 --- a/icnss2/main.c +++ b/icnss2/main.c @@ -2215,12 +2215,14 @@ static int icnss_wpss_notifier_nb(struct notifier_block *nb, switch (code) { case QCOM_SSR_BEFORE_SHUTDOWN: + priv->notif_crashed = notif->crashed; break; case QCOM_SSR_AFTER_SHUTDOWN: /* Collect ramdump only when there was a crash. */ - if (notif->crashed) { + if (priv->notif_crashed) { icnss_pr_info("Collecting msa0 segment dump\n"); icnss_msa0_ramdump(priv); + priv->notif_crashed = false; } goto out; default: diff --git a/icnss2/main.h b/icnss2/main.h index cf1330c887..0701183383 100644 --- a/icnss2/main.h +++ b/icnss2/main.h @@ -440,6 +440,7 @@ struct icnss_priv { void *modem_notify_handler; void *wpss_notify_handler; void *wpss_early_notify_handler; + bool notif_crashed; struct notifier_block modem_ssr_nb; struct notifier_block wpss_ssr_nb; struct notifier_block wpss_early_ssr_nb;