drivers/hwmon/ibmaem.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
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
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) ||
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) ||
>
© 2016 - 2026 Red Hat, Inc.