|
@@ -945,6 +945,12 @@ int mei_cl_disconnect(struct mei_cl *cl)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (dev->dev_state == MEI_DEV_POWER_DOWN) {
|
|
|
|
+ cl_dbg(dev, cl, "Device is powering down, don't bother with disconnection\n");
|
|
|
|
+ mei_cl_set_disconnected(cl);
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
rets = pm_runtime_get(dev->dev);
|
|
rets = pm_runtime_get(dev->dev);
|
|
if (rets < 0 && rets != -EINPROGRESS) {
|
|
if (rets < 0 && rets != -EINPROGRESS) {
|
|
pm_runtime_put_noidle(dev->dev);
|
|
pm_runtime_put_noidle(dev->dev);
|