Merge "icnss: Add support to handle SSR within SSR"
This commit is contained in:
commit
1d0a503de0
1 changed files with 9 additions and 0 deletions
|
@ -202,6 +202,7 @@ enum icnss_driver_state {
|
||||||
ICNSS_MSA0_ASSIGNED,
|
ICNSS_MSA0_ASSIGNED,
|
||||||
ICNSS_WLFW_EXISTS,
|
ICNSS_WLFW_EXISTS,
|
||||||
ICNSS_WDOG_BITE,
|
ICNSS_WDOG_BITE,
|
||||||
|
ICNSS_SHUTDOWN_DONE,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ce_irq_list {
|
struct ce_irq_list {
|
||||||
|
@ -1990,9 +1991,13 @@ static int icnss_call_driver_shutdown(struct icnss_priv *priv)
|
||||||
if (!priv->ops || !priv->ops->shutdown)
|
if (!priv->ops || !priv->ops->shutdown)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
if (test_bit(ICNSS_SHUTDOWN_DONE, &penv->state))
|
||||||
|
goto out;
|
||||||
|
|
||||||
icnss_pr_dbg("Calling driver shutdown state: 0x%lx\n", priv->state);
|
icnss_pr_dbg("Calling driver shutdown state: 0x%lx\n", priv->state);
|
||||||
|
|
||||||
priv->ops->shutdown(&priv->pdev->dev);
|
priv->ops->shutdown(&priv->pdev->dev);
|
||||||
|
set_bit(ICNSS_SHUTDOWN_DONE, &penv->state);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2030,6 +2035,7 @@ static int icnss_pd_restart_complete(struct icnss_priv *priv)
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
clear_bit(ICNSS_SHUTDOWN_DONE, &penv->state);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
call_probe:
|
call_probe:
|
||||||
|
@ -3667,6 +3673,9 @@ static int icnss_stats_show_state(struct seq_file *s, struct icnss_priv *priv)
|
||||||
case ICNSS_WDOG_BITE:
|
case ICNSS_WDOG_BITE:
|
||||||
seq_puts(s, "MODEM WDOG BITE");
|
seq_puts(s, "MODEM WDOG BITE");
|
||||||
continue;
|
continue;
|
||||||
|
case ICNSS_SHUTDOWN_DONE:
|
||||||
|
seq_puts(s, "SHUTDOWN DONE");
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
seq_printf(s, "UNKNOWN-%d", i);
|
seq_printf(s, "UNKNOWN-%d", i);
|
||||||
|
|
Loading…
Add table
Reference in a new issue