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 <quic_npadhiar@quicinc.com>
This commit is contained in:
Naman Padhiar 2022-06-29 17:12:04 +05:30 committed by Gerrit - the friendly Code Review server
parent 41d11b26ba
commit ac2f2a778a

View File

@ -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);