diff options
author | 2013-06-04 10:01:13 +0800 | |
---|---|---|
committer | 2013-06-04 10:24:40 -0700 | |
commit | ddf1f0648e8cd6d2208b1d3bfabd6501f5a9407f (patch) | |
tree | 4af7376a3b1913efcc8157d2e66b4241a4d4ff5b /drivers/base/firmware_class.c | |
parent | Documentation: Updated broken link in HOWTO (diff) | |
download | linux-ddf1f0648e8cd6d2208b1d3bfabd6501f5a9407f.tar.gz linux-ddf1f0648e8cd6d2208b1d3bfabd6501f5a9407f.tar.bz2 linux-ddf1f0648e8cd6d2208b1d3bfabd6501f5a9407f.zip |
firmware loader: fix build failure with !CONFIG_FW_LOADER_USER_HELPER
This patch fixes one build failure which is introduced by the patch
below:
driver core: firmware loader: kill FW_ACTION_NOHOTPLUG requests
before suspend
When CONFIG_FW_LOADER_USER_HELPER is unset, kill_requests_without_uevent()
should be nop because no userspace loading is involved.
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base/firmware_class.c')
-rw-r--r-- | drivers/base/firmware_class.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index c4150431185f..c31fc295500a 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -916,6 +916,21 @@ static int fw_load_from_user_helper(struct firmware *firmware, fw_priv->buf = firmware->priv; return _request_firmware_load(fw_priv, uevent, timeout); } + +/* kill pending requests without uevent to avoid blocking suspend */ +static void kill_requests_without_uevent(void) +{ + struct firmware_buf *buf; + struct firmware_buf *next; + + mutex_lock(&fw_lock); + list_for_each_entry_safe(buf, next, &pending_fw_head, pending_list) { + if (!buf->need_uevent) + fw_load_abort(buf); + } + mutex_unlock(&fw_lock); +} + #else /* CONFIG_FW_LOADER_USER_HELPER */ static inline int fw_load_from_user_helper(struct firmware *firmware, const char *name, @@ -928,6 +943,8 @@ fw_load_from_user_helper(struct firmware *firmware, const char *name, /* No abort during direct loading */ #define is_fw_load_aborted(buf) false +static inline void kill_requests_without_uevent(void) { } + #endif /* CONFIG_FW_LOADER_USER_HELPER */ @@ -1414,20 +1431,6 @@ static void __device_uncache_fw_images(void) spin_unlock(&fwc->name_lock); } -/* kill pending requests without uevent to avoid blocking suspend */ -static void kill_requests_without_uevent(void) -{ - struct firmware_buf *buf; - struct firmware_buf *next; - - mutex_lock(&fw_lock); - list_for_each_entry_safe(buf, next, &pending_fw_head, pending_list) { - if (!buf->need_uevent) - fw_load_abort(buf); - } - mutex_unlock(&fw_lock); -} - /** * device_cache_fw_images - cache devices' firmware * |