Bluetooth: Add BT_ERR_RATELIMITED
authorSzymon Janc <ext.szymon.janc@tieto.com>
Wed, 16 Sep 2015 18:21:53 +0000 (20:21 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 18 Sep 2015 07:53:19 +0000 (09:53 +0200)
This patch adds ratelimited version of the BT_ERR macro.

Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
include/net/bluetooth/bluetooth.h
net/bluetooth/lib.c

index fcf2ae7dbfa0d6b3a64cbffdac3344fb23103821..f5ade857339390d46ad45de1425a9c06d54b8128 100644 (file)
@@ -123,11 +123,15 @@ __printf(1, 2)
 void bt_info(const char *fmt, ...);
 __printf(1, 2)
 void bt_err(const char *fmt, ...);
+__printf(1, 2)
+void bt_err_ratelimited(const char *fmt, ...);
 
 #define BT_INFO(fmt, ...)      bt_info(fmt "\n", ##__VA_ARGS__)
 #define BT_ERR(fmt, ...)       bt_err(fmt "\n", ##__VA_ARGS__)
 #define BT_DBG(fmt, ...)       pr_debug(fmt "\n", ##__VA_ARGS__)
 
+#define BT_ERR_RATELIMITED(fmt, ...) bt_err_ratelimited(fmt "\n", ##__VA_ARGS__)
+
 #define bt_dev_info(hdev, fmt, ...)                            \
        BT_INFO("%s: " fmt, (hdev)->name, ##__VA_ARGS__)
 #define bt_dev_err(hdev, fmt, ...)                             \
index b36bc041585425beed292ef9d499b4dc8e11397c..8b4cdce3f62e5a4477a481c2fcc86c56be497321 100644 (file)
@@ -166,3 +166,19 @@ void bt_err(const char *format, ...)
        va_end(args);
 }
 EXPORT_SYMBOL(bt_err);
+
+void bt_err_ratelimited(const char *format, ...)
+{
+       struct va_format vaf;
+       va_list args;
+
+       va_start(args, format);
+
+       vaf.fmt = format;
+       vaf.va = &args;
+
+       pr_err_ratelimited("%pV", &vaf);
+
+       va_end(args);
+}
+EXPORT_SYMBOL(bt_err_ratelimited);