summaryrefslogtreecommitdiffstats
path: root/drivers/base/firmware_class.c
diff options
context:
space:
mode:
authorLuis R. Rodriguez <mcgrof@kernel.org>2015-07-31 00:48:57 +0200
committerMimi Zohar <zohar@linux.vnet.ibm.com>2016-02-18 23:14:00 +0100
commit5275d194e0e56db2bdc43e58f5e54b8e36d6fb03 (patch)
treee62a3820757d6fc8c59a79907c8659be047525e9 /drivers/base/firmware_class.c
parentfirmware: simplify dev_*() print messages for generic helpers (diff)
downloadlinux-5275d194e0e56db2bdc43e58f5e54b8e36d6fb03.tar.xz
linux-5275d194e0e56db2bdc43e58f5e54b8e36d6fb03.zip
firmware: move completing fw into a helper
This will be re-used later through a new extensible interface. Reviewed-by: Josh Boyer <jwboyer@fedoraproject.org> Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com> Acked-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'drivers/base/firmware_class.c')
-rw-r--r--drivers/base/firmware_class.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index ce88355eb128..7bc4ad0f36d5 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;