[PATCH] firmware: wake all waiters

From: Jakub Kicinski
Date: Fri Jun 23 2017 - 19:37:54 EST


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.kicinski@xxxxxxxxxxxxx>
---
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