qcacld-3.0: Return ret for hdd_trigger_psoc_idle_restart
When hdd_trigger_psoc_idle_restart is called from hdd_open, if the process has some signal pending, pld_idle_restart may return back before finishing start_modules. If keep running in hdd_open, when creating vdev it may access invalid pdev. In hdd_open, change to return failure if idle_restart returns error. Change-Id: I454d421d0758dd4e90c4b4fba1f65096c0834446 CRs-Fixed: 2476316
This commit is contained in:
@@ -9392,6 +9392,8 @@ int hdd_psoc_idle_restart(struct device *dev)
|
||||
|
||||
int hdd_trigger_psoc_idle_restart(struct hdd_context *hdd_ctx)
|
||||
{
|
||||
int ret;
|
||||
|
||||
QDF_BUG(rtnl_is_locked());
|
||||
|
||||
if (hdd_ctx->driver_status == DRIVER_MODULES_ENABLED) {
|
||||
@@ -9400,9 +9402,9 @@ int hdd_trigger_psoc_idle_restart(struct hdd_context *hdd_ctx)
|
||||
return 0;
|
||||
}
|
||||
|
||||
pld_idle_restart(hdd_ctx->parent_dev, hdd_psoc_idle_restart);
|
||||
ret = pld_idle_restart(hdd_ctx->parent_dev, hdd_psoc_idle_restart);
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
|
مرجع در شماره جدید
Block a user