diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index 89ecf0a80aa1..d8ba1633f93b 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h @@ -1024,11 +1024,15 @@ static inline void hci_conn_drop(struct hci_conn *conn) } } +extern void show_stack(struct task_struct *task, unsigned long *sp); /* ----- HCI Devices ----- */ static inline void hci_dev_put(struct hci_dev *d) { BT_DBG("%s orig refcnt %d", d->name, kref_read(&d->dev.kobj.kref)); + printk("%s orig refcnt %d, %s\n", d->name, + kref_read(&d->dev.kobj.kref), __func__); + show_stack(NULL, NULL); put_device(&d->dev); } @@ -1037,6 +1041,9 @@ static inline struct hci_dev *hci_dev_hold(struct hci_dev *d) { BT_DBG("%s orig refcnt %d", d->name, kref_read(&d->dev.kobj.kref)); + printk("%s orig refcnt %d, %s\n", d->name, + kref_read(&d->dev.kobj.kref), __func__); + show_stack(NULL, NULL); get_device(&d->dev); return d;