icnss: Set crash state for PDR

For PDR, the crashed state should be set to invoke driver's
PDR/SSR routine rather than the remove routine.

CRs-Fixed: 2082279
Change-Id: I5f5d51c530c563d93eeaf183ee10ac558f5d5a1a
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
This commit is contained in:
Sameer Thalappil 2017-07-25 13:24:48 -07:00
parent 6a7013d43d
commit ddbc617f58

View file

@ -2518,21 +2518,22 @@ static int icnss_service_notifier_notify(struct notifier_block *nb,
if (event_data == NULL)
return notifier_from_errno(-ENOMEM);
event_data->crashed = true;
if (state == NULL) {
event_data->crashed = true;
priv->stats.recovery.root_pd_crash++;
goto event_post;
}
switch (*state) {
case ROOT_PD_WDOG_BITE:
event_data->crashed = true;
event_data->wdog_bite = true;
priv->stats.recovery.root_pd_crash++;
break;
case ROOT_PD_SHUTDOWN:
cause = ICNSS_ROOT_PD_SHUTDOWN;
priv->stats.recovery.root_pd_shutdown++;
event_data->crashed = false;
break;
case USER_PD_STATE_CHANGE:
if (test_bit(ICNSS_HOST_TRIGGERED_PDR, &priv->state)) {
@ -2544,7 +2545,6 @@ static int icnss_service_notifier_notify(struct notifier_block *nb,
}
break;
default:
event_data->crashed = true;
priv->stats.recovery.root_pd_crash++;
break;
}