diff options
Diffstat (limited to 'kernel/drivers/base/firmware_class.c')
-rw-r--r-- | kernel/drivers/base/firmware_class.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/drivers/base/firmware_class.c b/kernel/drivers/base/firmware_class.c index 8524450e7..ccfd26814 100644 --- a/kernel/drivers/base/firmware_class.c +++ b/kernel/drivers/base/firmware_class.c @@ -942,13 +942,14 @@ static int _request_firmware_load(struct firmware_priv *fw_priv, timeout = MAX_JIFFY_OFFSET; } - retval = wait_for_completion_interruptible_timeout(&buf->completion, + timeout = wait_for_completion_interruptible_timeout(&buf->completion, timeout); - if (retval == -ERESTARTSYS || !retval) { + if (timeout == -ERESTARTSYS || !timeout) { + retval = timeout; mutex_lock(&fw_lock); fw_load_abort(fw_priv); mutex_unlock(&fw_lock); - } else if (retval > 0) { + } else if (timeout > 0) { retval = 0; } |