]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
firmware loader: fix build failure with !CONFIG_FW_LOADER_USER_HELPER
authorMing Lei <ming.lei@canonical.com>
Tue, 4 Jun 2013 02:01:13 +0000 (10:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Jun 2013 17:24:40 +0000 (10:24 -0700)
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>
drivers/base/firmware_class.c

index c4150431185fdd6edd6be583194068bc12bf7720..c31fc295500a78918fc4f0cb2e714913836767c2 100644 (file)
@@ -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
  *