Commit ddf1f064 authored by Ming Lei's avatar Ming Lei Committed by Greg Kroah-Hartman

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: default avatarkbuild test robot <fengguang.wu@intel.com>
Signed-off-by: default avatarMing Lei <ming.lei@canonical.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 17c057a3
...@@ -916,6 +916,21 @@ static int fw_load_from_user_helper(struct firmware *firmware, ...@@ -916,6 +916,21 @@ static int fw_load_from_user_helper(struct firmware *firmware,
fw_priv->buf = firmware->priv; fw_priv->buf = firmware->priv;
return _request_firmware_load(fw_priv, uevent, timeout); 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 */ #else /* CONFIG_FW_LOADER_USER_HELPER */
static inline int static inline int
fw_load_from_user_helper(struct firmware *firmware, const char *name, 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, ...@@ -928,6 +943,8 @@ fw_load_from_user_helper(struct firmware *firmware, const char *name,
/* No abort during direct loading */ /* No abort during direct loading */
#define is_fw_load_aborted(buf) false #define is_fw_load_aborted(buf) false
static inline void kill_requests_without_uevent(void) { }
#endif /* CONFIG_FW_LOADER_USER_HELPER */ #endif /* CONFIG_FW_LOADER_USER_HELPER */
...@@ -1414,20 +1431,6 @@ static void __device_uncache_fw_images(void) ...@@ -1414,20 +1431,6 @@ static void __device_uncache_fw_images(void)
spin_unlock(&fwc->name_lock); 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 * device_cache_fw_images - cache devices' firmware
* *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment