Merge "icnss: Avoid wlan driver remove during modem graceful shutdown"
This commit is contained in:
commit
d326b7ac6b
1 changed files with 1 additions and 27 deletions
|
@ -2329,29 +2329,6 @@ out:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int icnss_call_driver_remove(struct icnss_priv *priv)
|
|
||||||
{
|
|
||||||
icnss_pr_dbg("Calling driver remove state: 0x%lx\n", priv->state);
|
|
||||||
|
|
||||||
clear_bit(ICNSS_FW_READY, &priv->state);
|
|
||||||
|
|
||||||
if (!test_bit(ICNSS_DRIVER_PROBED, &penv->state))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (!priv->ops || !priv->ops->remove)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
set_bit(ICNSS_DRIVER_UNLOADING, &penv->state);
|
|
||||||
penv->ops->remove(&priv->pdev->dev);
|
|
||||||
|
|
||||||
clear_bit(ICNSS_DRIVER_UNLOADING, &penv->state);
|
|
||||||
clear_bit(ICNSS_DRIVER_PROBED, &priv->state);
|
|
||||||
|
|
||||||
icnss_hw_power_off(penv);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int icnss_fw_crashed(struct icnss_priv *priv,
|
static int icnss_fw_crashed(struct icnss_priv *priv,
|
||||||
struct icnss_event_pd_service_down_data *event_data)
|
struct icnss_event_pd_service_down_data *event_data)
|
||||||
{
|
{
|
||||||
|
@ -2387,10 +2364,7 @@ static int icnss_driver_event_pd_service_down(struct icnss_priv *priv,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event_data->crashed)
|
icnss_fw_crashed(priv, event_data);
|
||||||
icnss_fw_crashed(priv, event_data);
|
|
||||||
else
|
|
||||||
icnss_call_driver_remove(priv);
|
|
||||||
|
|
||||||
out:
|
out:
|
||||||
kfree(data);
|
kfree(data);
|
||||||
|
|
Loading…
Add table
Reference in a new issue