From ddf1f0648e8cd6d2208b1d3bfabd6501f5a9407f Mon Sep 17 00:00:00 2001 From: Ming Lei Date: Tue, 4 Jun 2013 10:01:13 +0800 Subject: [PATCH] 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 Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman --- drivers/base/firmware_class.c | 31 +++++++++++++++++-------------- 1 file 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 *