aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/firmware_class.c
diff options
context:
space:
mode:
authorLuis R. Rodriguez <mcgrof@kernel.org>2015-07-30 18:48:57 -0400
committerMimi Zohar <zohar@linux.vnet.ibm.com>2016-02-18 17:14:00 -0500
commit5275d194e0e56db2bdc43e58f5e54b8e36d6fb03 (patch)
treee62a3820757d6fc8c59a79907c8659be047525e9 /drivers/base/firmware_class.c
parented04630b34c117347423a49af35125f5affff6b9 (diff)
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:
322 return rc; 322 return rc;
323} 323}
324 324
325static void fw_finish_direct_load(struct device *device,
326 struct firmware_buf *buf)
327{
328 mutex_lock(&fw_lock);
329 set_bit(FW_STATUS_DONE, &buf->status);
330 complete_all(&buf->completion);
331 mutex_unlock(&fw_lock);
332}
333
325static int fw_get_filesystem_firmware(struct device *device, 334static int fw_get_filesystem_firmware(struct device *device,
326 struct firmware_buf *buf) 335 struct firmware_buf *buf)
327{ 336{
@@ -363,10 +372,7 @@ static int fw_get_filesystem_firmware(struct device *device,
363 if (!rc) { 372 if (!rc) {
364 dev_dbg(device, "direct-loading %s\n", 373 dev_dbg(device, "direct-loading %s\n",
365 buf->fw_id); 374 buf->fw_id);
366 mutex_lock(&fw_lock); 375 fw_finish_direct_load(device, buf);
367 set_bit(FW_STATUS_DONE, &buf->status);
368 complete_all(&buf->completion);
369 mutex_unlock(&fw_lock);
370 } 376 }
371 377
372 return rc; 378 return rc;