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