On Mon, Nov 20, 2023 at 03:54:14PM +0000, Mark Brown wrote:
On Mon, Nov 20, 2023 at 03:46:26PM +0000, Maciej Strozek wrote:
W dniu 20/11/2023 o 14:40, Mark Brown pisze:
} else {
return 0;
}
Is it a bug to call this function without to_poll set to something known? This will just silently ignore it which seems wrong and is inconsitent with the handling in the interrupt case which will wait for the the completion to be signalled and report a timeout on error.
In interrupt case 0 means timeout (and calling function should expect 0 as error/timeout), so the only inconsistency I see is in not waiting before returning a timeout, but that would be needlessly wasting time? Do you think adding a debug print or a comment would help here?
It seems like a clear code bug if this is ever called with an unknown completion, I'd expect a WARN_ON_ONCE() there. The lack of a delay is potentially going to affect how any error handling works which doesn't feel ideal though the users look fine right now.
I guess perhaps another option might be to not stick so strictly to the wait_for_completion_timeout API. This function could return an -EINVAL here and a -ETIMEDOUT for a timeout then the callers could be updated accordingly.
Thanks, Charles