Bluetooth: Fix not checking for valid hdev on bt_dev_{info,warn,err,dbg}
[sfrench/cifs-2.6.git] / include / net / bluetooth / bluetooth.h
index a647e5fabdbd6d767413c6b0e3382177ccf518df..2aa5e95808a5a8ae860215ed29c95c8d76b9311f 100644 (file)
@@ -204,19 +204,21 @@ void bt_err_ratelimited(const char *fmt, ...);
 #define BT_DBG(fmt, ...)       pr_debug(fmt "\n", ##__VA_ARGS__)
 #endif
 
+#define bt_dev_name(hdev) ((hdev) ? (hdev)->name : "null")
+
 #define bt_dev_info(hdev, fmt, ...)                            \
-       BT_INFO("%s: " fmt, (hdev)->name, ##__VA_ARGS__)
+       BT_INFO("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__)
 #define bt_dev_warn(hdev, fmt, ...)                            \
-       BT_WARN("%s: " fmt, (hdev)->name, ##__VA_ARGS__)
+       BT_WARN("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__)
 #define bt_dev_err(hdev, fmt, ...)                             \
-       BT_ERR("%s: " fmt, (hdev)->name, ##__VA_ARGS__)
+       BT_ERR("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__)
 #define bt_dev_dbg(hdev, fmt, ...)                             \
-       BT_DBG("%s: " fmt, (hdev)->name, ##__VA_ARGS__)
+       BT_DBG("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__)
 
 #define bt_dev_warn_ratelimited(hdev, fmt, ...)                        \
-       bt_warn_ratelimited("%s: " fmt, (hdev)->name, ##__VA_ARGS__)
+       bt_warn_ratelimited("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__)
 #define bt_dev_err_ratelimited(hdev, fmt, ...)                 \
-       bt_err_ratelimited("%s: " fmt, (hdev)->name, ##__VA_ARGS__)
+       bt_err_ratelimited("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__)
 
 /* Connection and socket states */
 enum {