Bluetooth: Adding a bt_dev_warn_ratelimited macro.
authorAlain Michaud <alainm@chromium.org>
Wed, 11 Dec 2019 01:54:43 +0000 (01:54 +0000)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 4 Jan 2020 09:41:03 +0000 (10:41 +0100)
The macro will be used to display rate limited warning messages in the
log.

Signed-off-by: Alain Michaud <alainm@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
include/net/bluetooth/bluetooth.h
net/bluetooth/lib.c

index fabee6db0abb78ea826cc97d52c622614db900a0..bd267526685980ff3dec5bfadc7f2505cc97a6d3 100644 (file)
@@ -129,6 +129,8 @@ void bt_warn(const char *fmt, ...);
 __printf(1, 2)
 void bt_err(const char *fmt, ...);
 __printf(1, 2)
+void bt_warn_ratelimited(const char *fmt, ...);
+__printf(1, 2)
 void bt_err_ratelimited(const char *fmt, ...);
 
 #define BT_INFO(fmt, ...)      bt_info(fmt "\n", ##__VA_ARGS__)
@@ -147,6 +149,8 @@ void bt_err_ratelimited(const char *fmt, ...);
 #define bt_dev_dbg(hdev, fmt, ...)                             \
        BT_DBG("%s: " fmt, (hdev)->name, ##__VA_ARGS__)
 
+#define bt_dev_warn_ratelimited(hdev, fmt, ...)                        \
+       bt_warn_ratelimited("%s: " fmt, (hdev)->name, ##__VA_ARGS__)
 #define bt_dev_err_ratelimited(hdev, fmt, ...)                 \
        BT_ERR_RATELIMITED("%s: " fmt, (hdev)->name, ##__VA_ARGS__)
 
index 63e65d9b4b24c648edb4927f943e5fce59180f5f..c09e0a3a0ed9e7309fd6fe01b7bbacaa03726891 100644 (file)
@@ -183,6 +183,22 @@ void bt_err(const char *format, ...)
 }
 EXPORT_SYMBOL(bt_err);
 
+void bt_warn_ratelimited(const char *format, ...)
+{
+       struct va_format vaf;
+       va_list args;
+
+       va_start(args, format);
+
+       vaf.fmt = format;
+       vaf.va = &args;
+
+       pr_warn_ratelimited("%pV", &vaf);
+
+       va_end(args);
+}
+EXPORT_SYMBOL(bt_warn_ratelimited);
+
 void bt_err_ratelimited(const char *format, ...)
 {
        struct va_format vaf;