mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 08:02:30 +00:00
nfp: correct return codes when msleep gets interrupted
msleep_interruptible() returns time left to wait, not error code. Return ERESTARTSYS when interrupted. While at it correct a comment and make the polling a bit more aggressive. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a831ffb560
commit
69a4aa8931
1 changed files with 6 additions and 6 deletions
|
@ -209,9 +209,8 @@ nfp_nsp_wait_reg(struct nfp_cpp *cpp, u64 *reg,
|
|||
if ((*reg & mask) == val)
|
||||
return 0;
|
||||
|
||||
err = msleep_interruptible(100);
|
||||
if (err)
|
||||
return err;
|
||||
if (msleep_interruptible(25))
|
||||
return -ERESTARTSYS;
|
||||
|
||||
if (time_after(start_time, wait_until))
|
||||
return -ETIMEDOUT;
|
||||
|
@ -228,7 +227,7 @@ nfp_nsp_wait_reg(struct nfp_cpp *cpp, u64 *reg,
|
|||
*
|
||||
* Return: 0 for success with no result
|
||||
*
|
||||
* 1..255 for NSP completion with a result code
|
||||
* positive value for NSP completion with a result code
|
||||
*
|
||||
* -EAGAIN if the NSP is not yet present
|
||||
* -ENODEV if the NSP is not a supported model
|
||||
|
@ -380,9 +379,10 @@ int nfp_nsp_wait(struct nfp_nsp *state)
|
|||
if (err != -EAGAIN)
|
||||
break;
|
||||
|
||||
err = msleep_interruptible(100);
|
||||
if (err)
|
||||
if (msleep_interruptible(25)) {
|
||||
err = -ERESTARTSYS;
|
||||
break;
|
||||
}
|
||||
|
||||
if (time_after(start_time, wait_until)) {
|
||||
err = -ETIMEDOUT;
|
||||
|
|
Loading…
Reference in a new issue