]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
firmware: turris-mox-rwtm: Fix checking return value of wait_for_completion_timeout()
authorMarek Behún <kabel@kernel.org>
Mon, 15 Jul 2024 11:59:11 +0000 (13:59 +0200)
committerArnd Bergmann <arnd@arndb.de>
Mon, 15 Jul 2024 14:57:48 +0000 (16:57 +0200)
The wait_for_completion_timeout() function returns 0 if timed out, and a
positive value if completed. Fix the usage of this function.

Fixes: 389711b37493 ("firmware: Add Turris Mox rWTM firmware driver")
Fixes: 2eab59cf0d20 ("firmware: turris-mox-rwtm: fail probing when firmware does not support hwrng")
Signed-off-by: Marek Behún <kabel@kernel.org>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/firmware/turris-mox-rwtm.c

index f1f9160c4195facf03baf80932fc8fa740697477..3f4758e03c818d2f0974ba8033e5f7f7bf12efb3 100644 (file)
@@ -202,9 +202,8 @@ static int mox_get_board_info(struct mox_rwtm *rwtm)
        if (ret < 0)
                return ret;
 
-       ret = wait_for_completion_timeout(&rwtm->cmd_done, HZ / 2);
-       if (ret < 0)
-               return ret;
+       if (!wait_for_completion_timeout(&rwtm->cmd_done, HZ / 2))
+               return -ETIMEDOUT;
 
        ret = mox_get_status(MBOX_CMD_BOARD_INFO, reply->retval);
        if (ret == -ENODATA) {
@@ -238,9 +237,8 @@ static int mox_get_board_info(struct mox_rwtm *rwtm)
        if (ret < 0)
                return ret;
 
-       ret = wait_for_completion_timeout(&rwtm->cmd_done, HZ / 2);
-       if (ret < 0)
-               return ret;
+       if (!wait_for_completion_timeout(&rwtm->cmd_done, HZ / 2))
+               return -ETIMEDOUT;
 
        ret = mox_get_status(MBOX_CMD_ECDSA_PUB_KEY, reply->retval);
        if (ret == -ENODATA) {
@@ -277,9 +275,8 @@ static int check_get_random_support(struct mox_rwtm *rwtm)
        if (ret < 0)
                return ret;
 
-       ret = wait_for_completion_timeout(&rwtm->cmd_done, HZ / 2);
-       if (ret < 0)
-               return ret;
+       if (!wait_for_completion_timeout(&rwtm->cmd_done, HZ / 2))
+               return -ETIMEDOUT;
 
        return mox_get_status(MBOX_CMD_GET_RANDOM, rwtm->reply.retval);
 }