mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-26 12:34:41 +08:00
staging: fieldbus: anybus-s: fix wait_for_completion_timeout return handling
wait_for_completion_timeout() returns unsigned long (0 on timeout or remaining jiffies) not int. Assigning this return value to int may theoretically overflow (though not in this case where TIMEOUT is only HZ*2). Fix this inconsistency by wrapping the wait_for_completion_timeout into the if(). Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Reviewed-by: Sven Van Asbroeck <TheSven73@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
91b6cb7216
commit
3e2e9cf9ee
@ -1325,11 +1325,10 @@ anybuss_host_common_probe(struct device *dev,
|
||||
* interrupt came in: ready to go !
|
||||
*/
|
||||
reset_deassert(cd);
|
||||
ret = wait_for_completion_timeout(&cd->card_boot, TIMEOUT);
|
||||
if (ret == 0)
|
||||
if (!wait_for_completion_timeout(&cd->card_boot, TIMEOUT)) {
|
||||
ret = -ETIMEDOUT;
|
||||
if (ret < 0)
|
||||
goto err_reset;
|
||||
}
|
||||
/*
|
||||
* according to the anybus docs, we're allowed to read these
|
||||
* without handshaking / reserving the area
|
||||
|
Loading…
Reference in New Issue
Block a user