drivers/base/firmware_class.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index 8c798ef7f13f..956dd34e59da 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -549,7 +549,8 @@ static int _request_firmware(const struct firmware **firmware_p, round_jiffies_up(jiffies + loading_timeout * HZ)); - kobject_uevent(&fw_priv->dev.kobj, KOBJ_ADD); + if (WARN_ON(kobject_uevent(&fw_priv->dev.kobj, KOBJ_ADD))) + fw_load_abort(fw_priv); } wait_for_completion(&fw_priv->completion);