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))
|
||||
return 0;
|
||||
|
||||
dev->recvd_hw_ready = false;
|
||||
mutex_unlock(&dev->device_lock);
|
||||
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);
|
||||
if (!err && !dev->recvd_hw_ready) {
|
||||
if (!err)
|
||||
err = -ETIMEDOUT;
|
||||
dev_err(&dev->pdev->dev,
|
||||
"wait hw ready failed. status = 0x%x\n", err);
|
||||
return -ETIMEDOUT;
|
||||
"wait hw ready failed. status = %d\n", err);
|
||||
return err;
|
||||
}
|
||||
|
||||
dev->recvd_hw_ready = false;
|
||||
|
|
Loading…
Reference in New Issue