Multiple devices may be waiting for firmware with the same name.
In that case we will make them all use the same struct firmware_buf.
When wake up happens make sure it's propagated to all of them.

Signed-off-by: Jakub Kicinski <jakub.kicin...@netronome.com>
---
 drivers/base/firmware_class.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index ac350c518e0c..c23b58e64b33 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -148,7 +148,7 @@ static void __fw_state_set(struct fw_state *fw_st,
        WRITE_ONCE(fw_st->status, status);
 
        if (status == FW_STATUS_DONE || status == FW_STATUS_ABORTED)
-               swake_up(&fw_st->wq);
+               swake_up_all(&fw_st->wq);
 }
 
 #define fw_state_start(fw_st)                                  \
-- 
2.11.0

Reply via email to