[PATCH] hwmon: ibmaem: match return type of wait_for_completion_timeout

Qiushi Wu posted 1 patch 3 months, 4 weeks ago
There is a newer version of this series
drivers/hwmon/ibmaem.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
[PATCH] hwmon: ibmaem: match return type of wait_for_completion_timeout
Posted by Qiushi Wu 3 months, 4 weeks ago
Return type of wait_for_completion_timeout is unsigned long not int.
Check its return value inline instead of introducing a throw-away
variable.

Reviewed-by: Mimi Zohar <zohar@linux.ibm.com>
Signed-off-by: Qiushi Wu <qiushi@linux.ibm.com>
---
 drivers/hwmon/ibmaem.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/hwmon/ibmaem.c b/drivers/hwmon/ibmaem.c
index 157e232aace0..e52e937a396c 100644
--- a/drivers/hwmon/ibmaem.c
+++ b/drivers/hwmon/ibmaem.c
@@ -383,8 +383,7 @@ static int aem_read_sensor(struct aem_data *data, u8 elt, u8 reg,
 
 	aem_send_message(ipmi);
 
-	res = wait_for_completion_timeout(&ipmi->read_complete, IPMI_TIMEOUT);
-	if (!res) {
+	if (!wait_for_completion_timeout(&ipmi->read_complete, IPMI_TIMEOUT)) {
 		res = -ETIMEDOUT;
 		goto out;
 	}
@@ -491,7 +490,6 @@ static void aem_delete(struct aem_data *data)
 /* Retrieve version and module handle for an AEM1 instance */
 static int aem_find_aem1_count(struct aem_ipmi_data *data)
 {
-	int res;
 	struct aem_find_firmware_req	ff_req;
 	struct aem_find_firmware_resp	ff_resp;
 
@@ -508,8 +506,7 @@ static int aem_find_aem1_count(struct aem_ipmi_data *data)
 
 	aem_send_message(data);
 
-	res = wait_for_completion_timeout(&data->read_complete, IPMI_TIMEOUT);
-	if (!res)
+	if (!wait_for_completion_timeout(&data->read_complete, IPMI_TIMEOUT))
 		return -ETIMEDOUT;
 
 	if (data->rx_result || data->rx_msg_len != sizeof(ff_resp) ||
@@ -632,7 +629,6 @@ static int aem_find_aem2(struct aem_ipmi_data *data,
 			    struct aem_find_instance_resp *fi_resp,
 			    int instance_num)
 {
-	int res;
 	struct aem_find_instance_req fi_req;
 
 	fi_req.id = system_x_id;
@@ -648,8 +644,7 @@ static int aem_find_aem2(struct aem_ipmi_data *data,
 
 	aem_send_message(data);
 
-	res = wait_for_completion_timeout(&data->read_complete, IPMI_TIMEOUT);
-	if (!res)
+	if (!wait_for_completion_timeout(&data->read_complete, IPMI_TIMEOUT))
 		return -ETIMEDOUT;
 
 	if (data->rx_result || data->rx_msg_len != sizeof(*fi_resp) ||
-- 
2.34.1
Re: [PATCH] hwmon: ibmaem: match return type of wait_for_completion_timeout
Posted by Guenter Roeck 3 months, 4 weeks ago
On 6/12/25 11:43, Qiushi Wu wrote:
> Return type of wait_for_completion_timeout is unsigned long not int.
> Check its return value inline instead of introducing a throw-away
> variable.
> 
> Reviewed-by: Mimi Zohar <zohar@linux.ibm.com>
> Signed-off-by: Qiushi Wu <qiushi@linux.ibm.com>
> ---
>   drivers/hwmon/ibmaem.c | 11 +++--------
>   1 file changed, 3 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/hwmon/ibmaem.c b/drivers/hwmon/ibmaem.c
> index 157e232aace0..e52e937a396c 100644
> --- a/drivers/hwmon/ibmaem.c
> +++ b/drivers/hwmon/ibmaem.c
> @@ -383,8 +383,7 @@ static int aem_read_sensor(struct aem_data *data, u8 elt, u8 reg,
>   
>   	aem_send_message(ipmi);
>   
> -	res = wait_for_completion_timeout(&ipmi->read_complete, IPMI_TIMEOUT);
> -	if (!res) {
> +	if (!wait_for_completion_timeout(&ipmi->read_complete, IPMI_TIMEOUT)) {
>   		res = -ETIMEDOUT;
>   		goto out;

If you want to clean up the code:

		return -ETIMEDOUT;

Also drop the second goto and return directly, drop res and the out: label
entirely, and return 0; at the end. That goto is really pointless.

Guenter

>   	}
> @@ -491,7 +490,6 @@ static void aem_delete(struct aem_data *data)
>   /* Retrieve version and module handle for an AEM1 instance */
>   static int aem_find_aem1_count(struct aem_ipmi_data *data)
>   {
> -	int res;
>   	struct aem_find_firmware_req	ff_req;
>   	struct aem_find_firmware_resp	ff_resp;
>   
> @@ -508,8 +506,7 @@ static int aem_find_aem1_count(struct aem_ipmi_data *data)
>   
>   	aem_send_message(data);
>   
> -	res = wait_for_completion_timeout(&data->read_complete, IPMI_TIMEOUT);
> -	if (!res)
> +	if (!wait_for_completion_timeout(&data->read_complete, IPMI_TIMEOUT))
>   		return -ETIMEDOUT;
>   
>   	if (data->rx_result || data->rx_msg_len != sizeof(ff_resp) ||
> @@ -632,7 +629,6 @@ static int aem_find_aem2(struct aem_ipmi_data *data,
>   			    struct aem_find_instance_resp *fi_resp,
>   			    int instance_num)
>   {
> -	int res;
>   	struct aem_find_instance_req fi_req;
>   
>   	fi_req.id = system_x_id;
> @@ -648,8 +644,7 @@ static int aem_find_aem2(struct aem_ipmi_data *data,
>   
>   	aem_send_message(data);
>   
> -	res = wait_for_completion_timeout(&data->read_complete, IPMI_TIMEOUT);
> -	if (!res)
> +	if (!wait_for_completion_timeout(&data->read_complete, IPMI_TIMEOUT))
>   		return -ETIMEDOUT;
>   
>   	if (data->rx_result || data->rx_msg_len != sizeof(*fi_resp) ||
Re: [PATCH] hwmon: ibmaem: match return type of wait_for_completion_timeout
Posted by Qiushi Wu 3 months, 4 weeks ago
On 6/12/25 16:57, Guenter Roeck wrote:
> On 6/12/25 11:43, Qiushi Wu wrote:
>> Return type of wait_for_completion_timeout is unsigned long not int.
>> Check its return value inline instead of introducing a throw-away
>> variable.
>>
>> Reviewed-by: Mimi Zohar <zohar@linux.ibm.com>
>> Signed-off-by: Qiushi Wu <qiushi@linux.ibm.com>
>> ---
>>   drivers/hwmon/ibmaem.c | 11 +++--------
>>   1 file changed, 3 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/hwmon/ibmaem.c b/drivers/hwmon/ibmaem.c
>> index 157e232aace0..e52e937a396c 100644
>> --- a/drivers/hwmon/ibmaem.c
>> +++ b/drivers/hwmon/ibmaem.c
>> @@ -383,8 +383,7 @@ static int aem_read_sensor(struct aem_data *data, 
>> u8 elt, u8 reg,
>>         aem_send_message(ipmi);
>>   -    res = wait_for_completion_timeout(&ipmi->read_complete, 
>> IPMI_TIMEOUT);
>> -    if (!res) {
>> +    if (!wait_for_completion_timeout(&ipmi->read_complete, 
>> IPMI_TIMEOUT)) {
>>           res = -ETIMEDOUT;
>>           goto out;
>
> If you want to clean up the code:
>
>         return -ETIMEDOUT;
>
> Also drop the second goto and return directly, drop res and the out: 
> label
> entirely, and return 0; at the end. That goto is really pointless.
>
> Guenter
>
Thanks for your feedback. I’ll clean up that and resubmit it as v2.

Sincerely,

Qiushi

>>       }
>> @@ -491,7 +490,6 @@ static void aem_delete(struct aem_data *data)
>>   /* Retrieve version and module handle for an AEM1 instance */
>>   static int aem_find_aem1_count(struct aem_ipmi_data *data)
>>   {
>> -    int res;
>>       struct aem_find_firmware_req    ff_req;
>>       struct aem_find_firmware_resp    ff_resp;
>>   @@ -508,8 +506,7 @@ static int aem_find_aem1_count(struct 
>> aem_ipmi_data *data)
>>         aem_send_message(data);
>>   -    res = wait_for_completion_timeout(&data->read_complete, 
>> IPMI_TIMEOUT);
>> -    if (!res)
>> +    if (!wait_for_completion_timeout(&data->read_complete, 
>> IPMI_TIMEOUT))
>>           return -ETIMEDOUT;
>>         if (data->rx_result || data->rx_msg_len != sizeof(ff_resp) ||
>> @@ -632,7 +629,6 @@ static int aem_find_aem2(struct aem_ipmi_data *data,
>>                   struct aem_find_instance_resp *fi_resp,
>>                   int instance_num)
>>   {
>> -    int res;
>>       struct aem_find_instance_req fi_req;
>>         fi_req.id = system_x_id;
>> @@ -648,8 +644,7 @@ static int aem_find_aem2(struct aem_ipmi_data *data,
>>         aem_send_message(data);
>>   -    res = wait_for_completion_timeout(&data->read_complete, 
>> IPMI_TIMEOUT);
>> -    if (!res)
>> +    if (!wait_for_completion_timeout(&data->read_complete, 
>> IPMI_TIMEOUT))
>>           return -ETIMEDOUT;
>>         if (data->rx_result || data->rx_msg_len != sizeof(*fi_resp) ||
>