Re: [PATCH v2] firmware: turris-mox-rwtm: Fix an error handling path in mox_get_board_info()

From: Gregory CLEMENT
Date: Thu Jul 13 2023 - 04:56:38 EST


Marek Behún <kabel@xxxxxxxxxx> writes:

> Gregory, could you take this patch via mvebu?


Yes sure, actually I was not in CC of this series and I don't follow
linux-kernel or kernel-janitors mailing lists. So thanks to having
pointing me the thread.

Applied on mvebu/drivers

Thanks,

Gregory


>
> On Tue, 11 Jul 2023 18:44:36 +0200
> Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> wrote:
>
>> Le 17/02/2023 à 12:21, Marek Behún a écrit :
>> > On Wed, 15 Feb 2023 10:30:02 +0100
>> > Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> wrote:
>> >
>> >> wait_for_completion_timeout() returns 0 if timed out, and positive (at
>> >> least 1, or number of jiffies left till timeout) if completed.
>> >>
>> >> In case of timeout, return -ETIMEDOUT.
>> >>
>> >> Fixes: 389711b37493 ("firmware: Add Turris Mox rWTM firmware driver")
>> >> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
>> >> ---
>> >> Compile tested only.
>> >>
>> >> v2:
>> >> - Fix some other wait_for_completion_timeout() calls
>> >>
>> >> ---
>> >> drivers/firmware/turris-mox-rwtm.c | 12 ++++++------
>> >> 1 file changed, 6 insertions(+), 6 deletions(-)
>> >>
>> >> diff --git a/drivers/firmware/turris-mox-rwtm.c b/drivers/firmware/turris-mox-rwtm.c
>> >> index 6ea5789a89e2..d6fc37ba897d 100644
>> >> --- a/drivers/firmware/turris-mox-rwtm.c
>> >> +++ b/drivers/firmware/turris-mox-rwtm.c
>> >> @@ -200,8 +200,8 @@ static int mox_get_board_info(struct mox_rwtm *rwtm)
>> >> return ret;
>> >>
>> >> ret = wait_for_completion_timeout(&rwtm->cmd_done, HZ / 2);
>> >> - if (ret < 0)
>> >> - return ret;
>> >> + if (ret == 0)
>> >> + return -ETIMEDOUT;
>> >>
>> >> ret = mox_get_status(MBOX_CMD_BOARD_INFO, reply->retval);
>> >> if (ret == -ENODATA) {
>> >> @@ -236,8 +236,8 @@ static int mox_get_board_info(struct mox_rwtm *rwtm)
>> >> return ret;
>> >>
>> >> ret = wait_for_completion_timeout(&rwtm->cmd_done, HZ / 2);
>> >> - if (ret < 0)
>> >> - return ret;
>> >> + if (ret == 0)
>> >> + return -ETIMEDOUT;
>> >>
>> >> ret = mox_get_status(MBOX_CMD_ECDSA_PUB_KEY, reply->retval);
>> >> if (ret == -ENODATA) {
>> >> @@ -275,8 +275,8 @@ static int check_get_random_support(struct mox_rwtm *rwtm)
>> >> return ret;
>> >>
>> >> ret = wait_for_completion_timeout(&rwtm->cmd_done, HZ / 2);
>> >> - if (ret < 0)
>> >> - return ret;
>> >> + if (ret == 0)
>> >> + return -ETIMEDOUT;
>> >>
>> >> return mox_get_status(MBOX_CMD_GET_RANDOM, rwtm->reply.retval);
>> >> }
>> >
>> > Reviewed-by: Marek Behún <kabel@xxxxxxxxxx>
>> >
>>
>> Hi,
>> polite reminder.
>>
>> CJ
>

--
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com