From ac2f2a778ad62313133a23f2ebf3d421d68298d5 Mon Sep 17 00:00:00 2001 From: Naman Padhiar Date: Wed, 29 Jun 2022 17:12:04 +0530 Subject: [PATCH] icnss2: Use event_data before posting event As part of posted event, event_data is getting freed. Check for FW crashed using event_data after posting event can be incorrect since event_data might have been freed. Move FW crashed check using event_data after posting event. Change-Id: Ie82a0b7b4ceb40063318ab2d926b9c14412fb2c9 Signed-off-by: Naman Padhiar --- drivers/soc/qcom/icnss2/main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/soc/qcom/icnss2/main.c b/drivers/soc/qcom/icnss2/main.c index a9dd23c90194..7d7021a33e14 100644 --- a/drivers/soc/qcom/icnss2/main.c +++ b/drivers/soc/qcom/icnss2/main.c @@ -2029,12 +2029,13 @@ event_post: } clear_bit(ICNSS_HOST_TRIGGERED_PDR, &priv->state); - icnss_driver_event_post(priv, ICNSS_DRIVER_EVENT_PD_SERVICE_DOWN, - ICNSS_EVENT_SYNC, event_data); if (event_data->crashed) mod_timer(&priv->recovery_timer, jiffies + msecs_to_jiffies(ICNSS_RECOVERY_TIMEOUT)); + + icnss_driver_event_post(priv, ICNSS_DRIVER_EVENT_PD_SERVICE_DOWN, + ICNSS_EVENT_SYNC, event_data); done: if (notification == SERVREG_NOTIF_SERVICE_STATE_UP_V01) clear_bit(ICNSS_FW_DOWN, &priv->state);