mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
firmware: turris-mox-rwtm: Do not complete if there are no waiters
[ Upstream commit 0bafb172b111ab27251af0eb684e7bde9570ce4c ]
Do not complete the "command done" completion if there are no waiters.
This can happen if a wait_for_completion() timed out or was interrupted.
Fixes: 389711b374 ("firmware: Add Turris Mox rWTM firmware driver")
Signed-off-by: Marek Behún <kabel@kernel.org>
Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
eb6c296ac0
commit
44c3f8656a
@@ -2,7 +2,7 @@
|
|||||||
/*
|
/*
|
||||||
* Turris Mox rWTM firmware driver
|
* Turris Mox rWTM firmware driver
|
||||||
*
|
*
|
||||||
* Copyright (C) 2019 Marek Behún <kabel@kernel.org>
|
* Copyright (C) 2019, 2024 Marek Behún <kabel@kernel.org>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/armada-37xx-rwtm-mailbox.h>
|
#include <linux/armada-37xx-rwtm-mailbox.h>
|
||||||
@@ -174,6 +174,9 @@ static void mox_rwtm_rx_callback(struct mbox_client *cl, void *data)
|
|||||||
struct mox_rwtm *rwtm = dev_get_drvdata(cl->dev);
|
struct mox_rwtm *rwtm = dev_get_drvdata(cl->dev);
|
||||||
struct armada_37xx_rwtm_rx_msg *msg = data;
|
struct armada_37xx_rwtm_rx_msg *msg = data;
|
||||||
|
|
||||||
|
if (completion_done(&rwtm->cmd_done))
|
||||||
|
return;
|
||||||
|
|
||||||
rwtm->reply = *msg;
|
rwtm->reply = *msg;
|
||||||
complete(&rwtm->cmd_done);
|
complete(&rwtm->cmd_done);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user