From: "Luis R. Rodriguez" <mcg...@kernel.org>

This will be re-used later through a new extensible interface.

Reviewed-by: Josh Boyer <jwbo...@fedoraproject.org>
Signed-off-by: Luis R. Rodriguez <mcg...@kernel.org>
Signed-off-by: Mimi Zohar <zo...@linux.vnet.ibm.com>
Acked-by: Kees Cook <keesc...@chromium.org>
---
 drivers/base/firmware_class.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index ce88355..7bc4ad0 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -322,6 +322,15 @@ fail:
        return rc;
 }
 
+static void fw_finish_direct_load(struct device *device,
+                                 struct firmware_buf *buf)
+{
+       mutex_lock(&fw_lock);
+       set_bit(FW_STATUS_DONE, &buf->status);
+       complete_all(&buf->completion);
+       mutex_unlock(&fw_lock);
+}
+
 static int fw_get_filesystem_firmware(struct device *device,
                                       struct firmware_buf *buf)
 {
@@ -363,10 +372,7 @@ static int fw_get_filesystem_firmware(struct device 
*device,
        if (!rc) {
                dev_dbg(device, "direct-loading %s\n",
                        buf->fw_id);
-               mutex_lock(&fw_lock);
-               set_bit(FW_STATUS_DONE, &buf->status);
-               complete_all(&buf->completion);
-               mutex_unlock(&fw_lock);
+               fw_finish_direct_load(device, buf);
        }
 
        return rc;
-- 
2.1.0


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to