Re: [PATCH 2/3 RFC] ath10k: wmi: match wait_for_completion_timeout return type
From: Nicholas Mc Guire <hidden>
Date: 2015-03-14 08:59:43
Also in:
lkml, netdev
On Fri, 13 Mar 2015, Michal Kazior wrote:
On 12 March 2015 at 16:49, Nicholas Mc Guire [off-list ref] wrote:quoted
Return type of wait_for_completion_timeout is unsigned long not int. An appropriately named unsigned long is added and the assignments fixed up. Rather than returning 0 (timeout) or a more or less random remaining time (completion success) this return 0 or 1 which also resolves the type of the functions being int. Signed-off-by: Nicholas Mc Guire <redacted> --- Checking the call-sites of ath10k_wmi_wait_for_unified_ready and ath10k_wmi_wait_for_service_ready the positive return value (remaining time in jiffies) is never passed up the call-chain nor used so it is cleaner to treat this like a boolean success/fail only (actually the two functions should probably be of type bool - but that does not seem to be common practice in the ath10k code base)It'd make sense to have these functions return 0 or -ETIMEDOUT. In that case both call sites would need to be adjusted to treat "< 0" or "!x" as an error (instead of the current "<= 0") condition and not set -ETIMEDOUT themselves.
looking at the call sites in ath10k_core_start more or less all other initialization calls will treate 0 as success and !=0 as failure so this is the cleaner solution. as its all now status = call() if(status) error patch just posted. thx! hofrat