mirror of https://gitee.com/openkylin/linux.git
mei: me: fix waiting for hw ready
1. MEI_INTEROP_TIMEOUT is in seconds not in jiffies so we use mei_secs_to_jiffies macro While cold boot is fast this is relevant in resume 2. wait_event_interruptible_timeout can return with -ERESTARTSYS so do not override it with -ETIMEDOUT 3.Adjust error message Tested-by: Shuah Khan <shuah.kh@samsung.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
99f22c4ef2
commit
dab9bf41b2
|
@ -239,14 +239,18 @@ static int mei_me_hw_ready_wait(struct mei_device *dev)
|
||||||
if (mei_me_hw_is_ready(dev))
|
if (mei_me_hw_is_ready(dev))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
dev->recvd_hw_ready = false;
|
||||||
mutex_unlock(&dev->device_lock);
|
mutex_unlock(&dev->device_lock);
|
||||||
err = wait_event_interruptible_timeout(dev->wait_hw_ready,
|
err = wait_event_interruptible_timeout(dev->wait_hw_ready,
|
||||||
dev->recvd_hw_ready, MEI_INTEROP_TIMEOUT);
|
dev->recvd_hw_ready,
|
||||||
|
mei_secs_to_jiffies(MEI_INTEROP_TIMEOUT));
|
||||||
mutex_lock(&dev->device_lock);
|
mutex_lock(&dev->device_lock);
|
||||||
if (!err && !dev->recvd_hw_ready) {
|
if (!err && !dev->recvd_hw_ready) {
|
||||||
|
if (!err)
|
||||||
|
err = -ETIMEDOUT;
|
||||||
dev_err(&dev->pdev->dev,
|
dev_err(&dev->pdev->dev,
|
||||||
"wait hw ready failed. status = 0x%x\n", err);
|
"wait hw ready failed. status = %d\n", err);
|
||||||
return -ETIMEDOUT;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->recvd_hw_ready = false;
|
dev->recvd_hw_ready = false;
|
||||||
|
|
Loading…
Reference in New Issue