diff mbox series

[v2] Bluetooth: SMP: Convert BT_ERR/BT_DBG to bt_dev_err/bt_dev_dbg

Message ID 20210311230222.1079239-1-luiz.dentz@gmail.com
State Superseded
Headers show
Series [v2] Bluetooth: SMP: Convert BT_ERR/BT_DBG to bt_dev_err/bt_dev_dbg | expand

Commit Message

Luiz Augusto von Dentz March 11, 2021, 11:02 p.m. UTC
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

This converts instances of BT_ERR and BT_DBG to bt_dev_err and
bt_dev_dbg which can be enabled at runtime when BT_FEATURE_DEBUG is
enabled.

Note: Not all instances could be converted as some are exercised by
selftest.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
v2: Fix issues found by CI

 net/bluetooth/smp.c | 98 ++++++++++++++++++++++++---------------------
 1 file changed, 52 insertions(+), 46 deletions(-)

Comments

bluez.test.bot@gmail.com March 12, 2021, 12:17 a.m. UTC | #1
This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=446611

---Test result---

##############################
    Test: CheckPatch - PASS
    

    ##############################
    Test: CheckGitLint - PASS
    

    ##############################
    Test: CheckBuildK - PASS
    

    ##############################
    Test: CheckTestRunner: Setup - PASS
    

    ##############################
    Test: CheckTestRunner: l2cap-tester - PASS
    Total: 40, Passed: 34 (85.0%), Failed: 0, Not Run: 6

    ##############################
    Test: CheckTestRunner: bnep-tester - PASS
    Total: 1, Passed: 1 (100.0%), Failed: 0, Not Run: 0

    ##############################
    Test: CheckTestRunner: mgmt-tester - FAIL
    Total: 416, Passed: 399 (95.9%), Failed: 3, Not Run: 14

    ##############################
    Test: CheckTestRunner: rfcomm-tester - PASS
    Total: 9, Passed: 9 (100.0%), Failed: 0, Not Run: 0

    ##############################
    Test: CheckTestRunner: sco-tester - PASS
    Total: 8, Passed: 8 (100.0%), Failed: 0, Not Run: 0

    ##############################
    Test: CheckTestRunner: smp-tester - PASS
    Total: 8, Passed: 8 (100.0%), Failed: 0, Not Run: 0

    ##############################
    Test: CheckTestRunner: userchan-tester - PASS
    Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0

    

---
Regards,
Linux Bluetooth
Luiz Augusto von Dentz March 12, 2021, 6:22 p.m. UTC | #2
Hi Marcel,

On Thu, Mar 11, 2021 at 11:08 PM Marcel Holtmann <marcel@holtmann.org> wrote:
>
> Hi Luiz,
>
> > This converts instances of BT_ERR and BT_DBG to bt_dev_err and
> > bt_dev_dbg which can be enabled at runtime when BT_FEATURE_DEBUG is
> > enabled.
> >
> > Note: Not all instances could be converted as some are exercised by
> > selftest.
> >
> > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> > ---
> > v2: Fix issues found by CI
> >
> > net/bluetooth/smp.c | 98 ++++++++++++++++++++++++---------------------
> > 1 file changed, 52 insertions(+), 46 deletions(-)
> >
> > diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c
> > index e03cc284161c..3cc1ad042edf 100644
> > --- a/net/bluetooth/smp.c
> > +++ b/net/bluetooth/smp.c
> > @@ -595,7 +595,7 @@ static void smp_send_cmd(struct l2cap_conn *conn, u8 code, u16 len, void *data)
> >       if (!chan)
> >               return;
> >
> > -     BT_DBG("code 0x%2.2x", code);
> > +     bt_dev_dbg(conn->hcon->hdev, "code 0x%2.2x", code);
> >
> >       iv[0].iov_base = &code;
> >       iv[0].iov_len = 1;
> > @@ -859,7 +859,8 @@ static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth,
> >       memset(smp->tk, 0, sizeof(smp->tk));
> >       clear_bit(SMP_FLAG_TK_VALID, &smp->flags);
> >
> > -     BT_DBG("tk_request: auth:%d lcl:%d rem:%d", auth, local_io, remote_io);
> > +     bt_dev_dbg(hcon->hdev, "auth:%d lcl:%d rem:%d", auth, local_io,
> > +                remote_io);
> >
> >       /* If neither side wants MITM, either "just" confirm an incoming
> >        * request or use just-works for outgoing ones. The JUST_CFM
> > @@ -924,7 +925,7 @@ static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth,
> >               get_random_bytes(&passkey, sizeof(passkey));
> >               passkey %= 1000000;
> >               put_unaligned_le32(passkey, smp->tk);
> > -             BT_DBG("PassKey: %d", passkey);
> > +             bt_dev_dbg(hcon->hdev, "PassKey: %d", passkey);
> >               set_bit(SMP_FLAG_TK_VALID, &smp->flags);
> >       }
> >
> > @@ -949,7 +950,7 @@ static u8 smp_confirm(struct smp_chan *smp)
> >       struct smp_cmd_pairing_confirm cp;
> >       int ret;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);
> >
> >       ret = smp_c1(smp->tk, smp->prnd, smp->preq, smp->prsp,
> >                    conn->hcon->init_addr_type, &conn->hcon->init_addr,
> > @@ -977,7 +978,8 @@ static u8 smp_random(struct smp_chan *smp)
> >       u8 confirm[16];
> >       int ret;
> >
> > -     BT_DBG("conn %p %s", conn, conn->hcon->out ? "master" : "slave");
> > +     bt_dev_dbg(conn->hcon->hdev, "conn %p %s", conn,
> > +                conn->hcon->out ? "master" : "slave");
> >
> >       ret = smp_c1(smp->tk, smp->rrnd, smp->preq, smp->prsp,
> >                    hcon->init_addr_type, &hcon->init_addr,
> > @@ -1236,7 +1238,7 @@ static void smp_distribute_keys(struct smp_chan *smp)
> >       struct hci_dev *hdev = hcon->hdev;
> >       __u8 *keydist;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(hdev, "conn %p", conn);
> >
> >       rsp = (void *) &smp->prsp[1];
> >
> > @@ -1266,7 +1268,7 @@ static void smp_distribute_keys(struct smp_chan *smp)
> >               *keydist &= ~SMP_SC_NO_DIST;
> >       }
> >
> > -     BT_DBG("keydist 0x%x", *keydist);
> > +     bt_dev_dbg(hdev, "keydist 0x%x", *keydist);
> >
> >       if (*keydist & SMP_DIST_ENC_KEY) {
> >               struct smp_cmd_encrypt_info enc;
> > @@ -1366,13 +1368,14 @@ static void smp_timeout(struct work_struct *work)
> >                                           security_timer.work);
> >       struct l2cap_conn *conn = smp->conn;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);
> >
> >       hci_disconnect(conn->hcon, HCI_ERROR_REMOTE_USER_TERM);
> > }
> >
> > static struct smp_chan *smp_chan_create(struct l2cap_conn *conn)
> > {
> > +     struct hci_conn *hcon = conn->hcon;
> >       struct l2cap_chan *chan = conn->smp;
> >       struct smp_chan *smp;
> >
> > @@ -1382,13 +1385,13 @@ static struct smp_chan *smp_chan_create(struct l2cap_conn *conn)
> >
> >       smp->tfm_cmac = crypto_alloc_shash("cmac(aes)", 0, 0);
> >       if (IS_ERR(smp->tfm_cmac)) {
> > -             BT_ERR("Unable to create CMAC crypto context");
> > +             bt_dev_err(hcon->hdev, "Unable to create CMAC crypto context");
> >               goto zfree_smp;
> >       }
> >
> >       smp->tfm_ecdh = crypto_alloc_kpp("ecdh", 0, 0);
> >       if (IS_ERR(smp->tfm_ecdh)) {
> > -             BT_ERR("Unable to create ECDH crypto context");
> > +             bt_dev_err(hcon->hdev, "Unable to create ECDH crypto context");
> >               goto free_shash;
> >       }
> >
> > @@ -1399,7 +1402,7 @@ static struct smp_chan *smp_chan_create(struct l2cap_conn *conn)
> >
> >       INIT_DELAYED_WORK(&smp->security_timer, smp_timeout);
> >
> > -     hci_conn_hold(conn->hcon);
> > +     hci_conn_hold(hcon);
> >
> >       return smp;
> >
> > @@ -1564,8 +1567,8 @@ static u8 sc_passkey_round(struct smp_chan *smp, u8 smp_op)
> >               if (!hcon->out)
> >                       return 0;
> >
> > -             BT_DBG("%s Starting passkey round %u", hdev->name,
> > -                    smp->passkey_round + 1);
> > +             bt_dev_dbg(hdev, "%s Starting passkey round %u", hdev->name,
> > +                        smp->passkey_round + 1);
> >
> >               SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_CONFIRM);
> >
> > @@ -1625,7 +1628,7 @@ int smp_user_confirm_reply(struct hci_conn *hcon, u16 mgmt_op, __le32 passkey)
> >       u32 value;
> >       int err;
> >
> > -     BT_DBG("");
> > +     bt_dev_dbg(conn->hcon->hdev, "");
> >
> >       if (!conn)
> >               return -ENOTCONN;
> > @@ -1651,7 +1654,7 @@ int smp_user_confirm_reply(struct hci_conn *hcon, u16 mgmt_op, __le32 passkey)
> >       case MGMT_OP_USER_PASSKEY_REPLY:
> >               value = le32_to_cpu(passkey);
> >               memset(smp->tk, 0, sizeof(smp->tk));
> > -             BT_DBG("PassKey: %d", value);
> > +             bt_dev_dbg(conn->hcon->hdev, "PassKey: %d", value);
> >               put_unaligned_le32(value, smp->tk);
> >               fallthrough;
> >       case MGMT_OP_USER_CONFIRM_REPLY:
> > @@ -1733,7 +1736,7 @@ static u8 smp_cmd_pairing_req(struct l2cap_conn *conn, struct sk_buff *skb)
> >       u8 key_size, auth, sec_level;
> >       int ret;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(hdev, "conn %p", conn);
> >
> >       if (skb->len < sizeof(*req))
> >               return SMP_INVALID_PARAMS;
> > @@ -1887,7 +1890,7 @@ static u8 sc_send_public_key(struct smp_chan *smp)
> >       }
> >
> >       if (hci_dev_test_flag(hdev, HCI_USE_DEBUG_KEYS)) {
> > -             BT_DBG("Using debug keys");
> > +             bt_dev_dbg(hdev, "Using debug keys");
> >               if (set_ecdh_privkey(smp->tfm_ecdh, debug_sk))
> >                       return SMP_UNSPECIFIED;
> >               memcpy(smp->local_pk, debug_pk, 64);
> > @@ -1924,7 +1927,7 @@ static u8 smp_cmd_pairing_rsp(struct l2cap_conn *conn, struct sk_buff *skb)
> >       u8 key_size, auth;
> >       int ret;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(hdev, "conn %p", conn);
> >
> >       if (skb->len < sizeof(*rsp))
> >               return SMP_INVALID_PARAMS;
> > @@ -2019,7 +2022,7 @@ static u8 sc_check_confirm(struct smp_chan *smp)
> > {
> >       struct l2cap_conn *conn = smp->conn;
> >
> > -     BT_DBG("");
> > +     bt_dev_dbg(conn->hcon->hdev, "");
> >
> >       if (smp->method == REQ_PASSKEY || smp->method == DSP_PASSKEY)
> >               return sc_passkey_round(smp, SMP_CMD_PAIRING_CONFIRM);
> > @@ -2078,8 +2081,10 @@ static u8 smp_cmd_pairing_confirm(struct l2cap_conn *conn, struct sk_buff *skb)
> > {
> >       struct l2cap_chan *chan = conn->smp;
> >       struct smp_chan *smp = chan->data;
> > +     struct hci_conn *hcon = conn->hcon;
> > +     struct hci_dev *hdev = hcon->hdev;
> >
> > -     BT_DBG("conn %p %s", conn, conn->hcon->out ? "master" : "slave");
> > +     bt_dev_dbg(hdev, "conn %p %s", conn, hcon->out ? "master" : "slave");
> >
> >       if (skb->len < sizeof(smp->pcnf))
> >               return SMP_INVALID_PARAMS;
> > @@ -2094,7 +2099,7 @@ static u8 smp_cmd_pairing_confirm(struct l2cap_conn *conn, struct sk_buff *skb)
> >               if (test_bit(SMP_FLAG_REMOTE_PK, &smp->flags))
> >                       return sc_check_confirm(smp);
> >
> > -             BT_ERR("Unexpected SMP Pairing Confirm");
> > +             bt_dev_err(hdev, "Unexpected SMP Pairing Confirm");
> >
> >               ret = fixup_sc_false_positive(smp);
> >               if (ret)
> > @@ -2125,7 +2130,7 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb)
> >       u32 passkey;
> >       int err;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(hcon->hdev, "conn %p", conn);
> >
> >       if (skb->len < sizeof(smp->rrnd))
> >               return SMP_INVALID_PARAMS;
> > @@ -2284,7 +2289,7 @@ static u8 smp_cmd_security_req(struct l2cap_conn *conn, struct sk_buff *skb)
> >       struct smp_chan *smp;
> >       u8 sec_level, auth;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(hdev, "conn %p", conn);
> >
> >       if (skb->len < sizeof(*rp))
> >               return SMP_INVALID_PARAMS;
> > @@ -2347,7 +2352,8 @@ int smp_conn_security(struct hci_conn *hcon, __u8 sec_level)
> >       __u8 authreq;
> >       int ret;
> >
> > -     BT_DBG("conn %p hcon %p level 0x%2.2x", conn, hcon, sec_level);
> > +     bt_dev_dbg(hcon->hdev, "conn %p hcon %p level 0x%2.2x", conn, hcon,
> > +                sec_level);
> >
> >       /* This may be NULL if there's an unexpected disconnection */
> >       if (!conn)
> > @@ -2483,7 +2489,7 @@ static int smp_cmd_encrypt_info(struct l2cap_conn *conn, struct sk_buff *skb)
> >       struct l2cap_chan *chan = conn->smp;
> >       struct smp_chan *smp = chan->data;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);
> >
> >       if (skb->len < sizeof(*rp))
> >               return SMP_INVALID_PARAMS;
> > @@ -2516,7 +2522,7 @@ static int smp_cmd_master_ident(struct l2cap_conn *conn, struct sk_buff *skb)
> >       struct smp_ltk *ltk;
> >       u8 authenticated;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(hdev, "conn %p", conn);
> >
> >       if (skb->len < sizeof(*rp))
> >               return SMP_INVALID_PARAMS;
> > @@ -2548,7 +2554,7 @@ static int smp_cmd_ident_info(struct l2cap_conn *conn, struct sk_buff *skb)
> >       struct l2cap_chan *chan = conn->smp;
> >       struct smp_chan *smp = chan->data;
> >
> > -     BT_DBG("");
> > +     bt_dev_dbg(conn->hcon->hdev, "");
> >
> >       if (skb->len < sizeof(*info))
> >               return SMP_INVALID_PARAMS;
> > @@ -2580,7 +2586,7 @@ static int smp_cmd_ident_addr_info(struct l2cap_conn *conn,
> >       struct hci_conn *hcon = conn->hcon;
> >       bdaddr_t rpa;
> >
> > -     BT_DBG("");
> > +     bt_dev_dbg(hcon->hdev, "");
> >
> >       if (skb->len < sizeof(*info))
> >               return SMP_INVALID_PARAMS;
> > @@ -2647,7 +2653,7 @@ static int smp_cmd_sign_info(struct l2cap_conn *conn, struct sk_buff *skb)
> >       struct smp_chan *smp = chan->data;
> >       struct smp_csrk *csrk;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);
> >
> >       if (skb->len < sizeof(*rp))
> >               return SMP_INVALID_PARAMS;
> > @@ -2727,7 +2733,7 @@ static int smp_cmd_public_key(struct l2cap_conn *conn, struct sk_buff *skb)
> >       struct smp_cmd_pairing_confirm cfm;
> >       int err;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(hdev, "conn %p", conn);
> >
> >       if (skb->len < sizeof(*key))
> >               return SMP_INVALID_PARAMS;
> > @@ -2791,7 +2797,7 @@ static int smp_cmd_public_key(struct l2cap_conn *conn, struct sk_buff *skb)
> >
> >       smp->method = sc_select_method(smp);
> >
> > -     BT_DBG("%s selected method 0x%02x", hdev->name, smp->method);
> > +     bt_dev_dbg(hdev, "%s selected method 0x%02x", hdev->name, smp->method);
> >
> >       /* JUST_WORKS and JUST_CFM result in an unauthenticated key */
> >       if (smp->method == JUST_WORKS || smp->method == JUST_CFM)
> > @@ -2866,7 +2872,7 @@ static int smp_cmd_dhkey_check(struct l2cap_conn *conn, struct sk_buff *skb)
> >       u8 io_cap[3], r[16], e[16];
> >       int err;
> >
> > -     BT_DBG("conn %p", conn);
> > +     bt_dev_dbg(hcon->hdev, "conn %p", conn);
> >
> >       if (skb->len < sizeof(*check))
> >               return SMP_INVALID_PARAMS;
> > @@ -2926,7 +2932,7 @@ static int smp_cmd_keypress_notify(struct l2cap_conn *conn,
> > {
> >       struct smp_cmd_keypress_notify *kp = (void *) skb->data;
> >
> > -     BT_DBG("value 0x%02x", kp->value);
> > +     bt_dev_dbg(conn->hcon->hdev, "value 0x%02x", kp->value);
> >
> >       return 0;
> > }
> > @@ -3023,7 +3029,7 @@ static int smp_sig_channel(struct l2cap_chan *chan, struct sk_buff *skb)
> >               break;
> >
> >       default:
> > -             BT_DBG("Unknown command code 0x%2.2x", code);
> > +             bt_dev_dbg(hcon->hdev, "Unknown command code 0x%2.2x", code);
> >               reason = SMP_CMD_NOTSUPP;
> >               goto done;
> >       }
> > @@ -3048,7 +3054,7 @@ static void smp_teardown_cb(struct l2cap_chan *chan, int err)
> > {
> >       struct l2cap_conn *conn = chan->conn;
> >
> > -     BT_DBG("chan %p", chan);
> > +     bt_dev_dbg(conn->hcon->hdev, "chan %p", chan);
> >
> >       if (chan->data)
> >               smp_chan_destroy(conn);
> > @@ -3065,7 +3071,7 @@ static void bredr_pairing(struct l2cap_chan *chan)
> >       struct smp_cmd_pairing req;
> >       struct smp_chan *smp;
> >
> > -     BT_DBG("chan %p", chan);
> > +     bt_dev_dbg(hdev, "chan %p", chan);
> >
> >       /* Only new pairings are interesting */
> >       if (!test_bit(HCI_CONN_NEW_LINK_KEY, &hcon->flags))
> > @@ -3112,7 +3118,7 @@ static void bredr_pairing(struct l2cap_chan *chan)
> >
> >       set_bit(SMP_FLAG_SC, &smp->flags);
> >
> > -     BT_DBG("%s starting SMP over BR/EDR", hdev->name);
> > +     bt_dev_dbg(hdev, "%s starting SMP over BR/EDR", hdev->name);
> >
> >       /* Prepare and send the BR/EDR SMP Pairing Request */
> >       build_bredr_pairing_cmd(smp, &req, NULL);
> > @@ -3130,7 +3136,7 @@ static void smp_resume_cb(struct l2cap_chan *chan)
> >       struct l2cap_conn *conn = chan->conn;
> >       struct hci_conn *hcon = conn->hcon;
> >
> > -     BT_DBG("chan %p", chan);
> > +     bt_dev_dbg(hcon->hdev, "chan %p", chan);
> >
> >       if (hcon->type == ACL_LINK) {
> >               bredr_pairing(chan);
> > @@ -3153,7 +3159,7 @@ static void smp_ready_cb(struct l2cap_chan *chan)
> >       struct l2cap_conn *conn = chan->conn;
> >       struct hci_conn *hcon = conn->hcon;
> >
> > -     BT_DBG("chan %p", chan);
> > +     bt_dev_dbg(hcon->hdev, "chan %p", chan);
> >
> >       /* No need to call l2cap_chan_hold() here since we already own
> >        * the reference taken in smp_new_conn_cb(). This is just the
> > @@ -3171,7 +3177,7 @@ static int smp_recv_cb(struct l2cap_chan *chan, struct sk_buff *skb)
> > {
> >       int err;
> >
> > -     BT_DBG("chan %p", chan);
> > +     bt_dev_dbg(chan->conn->hcon->hdev, "chan %p", chan);
> >
> >       err = smp_sig_channel(chan, skb);
> >       if (err) {
> > @@ -3223,7 +3229,7 @@ static inline struct l2cap_chan *smp_new_conn_cb(struct l2cap_chan *pchan)
> > {
> >       struct l2cap_chan *chan;
> >
> > -     BT_DBG("pchan %p", pchan);
> > +     bt_dev_dbg(pchan->conn->hcon->hdev, "pchan %p", pchan);
> >
> >       chan = l2cap_chan_create();
> >       if (!chan)
> > @@ -3244,7 +3250,7 @@ static inline struct l2cap_chan *smp_new_conn_cb(struct l2cap_chan *pchan)
> >        */
> >       atomic_set(&chan->nesting, L2CAP_NESTING_SMP);
> >
> > -     BT_DBG("created chan %p", chan);
> > +     bt_dev_dbg(pchan->conn->hcon->hdev, "created chan %p", chan);
> >
> >       return chan;
> > }
> > @@ -3285,14 +3291,14 @@ static struct l2cap_chan *smp_add_cid(struct hci_dev *hdev, u16 cid)
> >
> >       tfm_cmac = crypto_alloc_shash("cmac(aes)", 0, 0);
> >       if (IS_ERR(tfm_cmac)) {
> > -             BT_ERR("Unable to create CMAC crypto context");
> > +             bt_dev_err(hdev, "Unable to create CMAC crypto context");
> >               kfree_sensitive(smp);
> >               return ERR_CAST(tfm_cmac);
> >       }
> >
> >       tfm_ecdh = crypto_alloc_kpp("ecdh", 0, 0);
> >       if (IS_ERR(tfm_ecdh)) {
> > -             BT_ERR("Unable to create ECDH crypto context");
> > +             bt_dev_err(hdev, "Unable to create ECDH crypto context");
> >               crypto_free_shash(tfm_cmac);
> >               kfree_sensitive(smp);
> >               return ERR_CAST(tfm_ecdh);
> > @@ -3348,7 +3354,7 @@ static void smp_del_chan(struct l2cap_chan *chan)
> > {
> >       struct smp_dev *smp;
> >
> > -     BT_DBG("chan %p", chan);
> > +     bt_dev_dbg(chan->conn->hcon->hdev, "chan %p", chan);
> >
> >       smp = chan->data;
> >       if (smp) {
> > @@ -3391,7 +3397,7 @@ int smp_register(struct hci_dev *hdev)
> > {
> >       struct l2cap_chan *chan;
> >
> > -     BT_DBG("%s", hdev->name);
> > +     bt_dev_dbg(hdev, "%s", hdev->name);
>
> this is rather pointless since it just ends up printing hciX twice.

Right, I missed the fact that bt_dev_debug does exactly that, I guess
we should convert this to just bt_dev_dbg(hdev, "") or shall we remove
it entirely?

> Regards
>
> Marcel
>
Marcel Holtmann March 13, 2021, 11:03 a.m. UTC | #3
Hi Luiz,

>>> This converts instances of BT_ERR and BT_DBG to bt_dev_err and

>>> bt_dev_dbg which can be enabled at runtime when BT_FEATURE_DEBUG is

>>> enabled.

>>> 

>>> Note: Not all instances could be converted as some are exercised by

>>> selftest.

>>> 

>>> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

>>> ---

>>> v2: Fix issues found by CI

>>> 

>>> net/bluetooth/smp.c | 98 ++++++++++++++++++++++++---------------------

>>> 1 file changed, 52 insertions(+), 46 deletions(-)

>>> 

>>> diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c

>>> index e03cc284161c..3cc1ad042edf 100644

>>> --- a/net/bluetooth/smp.c

>>> +++ b/net/bluetooth/smp.c

>>> @@ -595,7 +595,7 @@ static void smp_send_cmd(struct l2cap_conn *conn, u8 code, u16 len, void *data)

>>>      if (!chan)

>>>              return;

>>> 

>>> -     BT_DBG("code 0x%2.2x", code);

>>> +     bt_dev_dbg(conn->hcon->hdev, "code 0x%2.2x", code);

>>> 

>>>      iv[0].iov_base = &code;

>>>      iv[0].iov_len = 1;

>>> @@ -859,7 +859,8 @@ static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth,

>>>      memset(smp->tk, 0, sizeof(smp->tk));

>>>      clear_bit(SMP_FLAG_TK_VALID, &smp->flags);

>>> 

>>> -     BT_DBG("tk_request: auth:%d lcl:%d rem:%d", auth, local_io, remote_io);

>>> +     bt_dev_dbg(hcon->hdev, "auth:%d lcl:%d rem:%d", auth, local_io,

>>> +                remote_io);

>>> 

>>>      /* If neither side wants MITM, either "just" confirm an incoming

>>>       * request or use just-works for outgoing ones. The JUST_CFM

>>> @@ -924,7 +925,7 @@ static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth,

>>>              get_random_bytes(&passkey, sizeof(passkey));

>>>              passkey %= 1000000;

>>>              put_unaligned_le32(passkey, smp->tk);

>>> -             BT_DBG("PassKey: %d", passkey);

>>> +             bt_dev_dbg(hcon->hdev, "PassKey: %d", passkey);

>>>              set_bit(SMP_FLAG_TK_VALID, &smp->flags);

>>>      }

>>> 

>>> @@ -949,7 +950,7 @@ static u8 smp_confirm(struct smp_chan *smp)

>>>      struct smp_cmd_pairing_confirm cp;

>>>      int ret;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);

>>> 

>>>      ret = smp_c1(smp->tk, smp->prnd, smp->preq, smp->prsp,

>>>                   conn->hcon->init_addr_type, &conn->hcon->init_addr,

>>> @@ -977,7 +978,8 @@ static u8 smp_random(struct smp_chan *smp)

>>>      u8 confirm[16];

>>>      int ret;

>>> 

>>> -     BT_DBG("conn %p %s", conn, conn->hcon->out ? "master" : "slave");

>>> +     bt_dev_dbg(conn->hcon->hdev, "conn %p %s", conn,

>>> +                conn->hcon->out ? "master" : "slave");

>>> 

>>>      ret = smp_c1(smp->tk, smp->rrnd, smp->preq, smp->prsp,

>>>                   hcon->init_addr_type, &hcon->init_addr,

>>> @@ -1236,7 +1238,7 @@ static void smp_distribute_keys(struct smp_chan *smp)

>>>      struct hci_dev *hdev = hcon->hdev;

>>>      __u8 *keydist;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(hdev, "conn %p", conn);

>>> 

>>>      rsp = (void *) &smp->prsp[1];

>>> 

>>> @@ -1266,7 +1268,7 @@ static void smp_distribute_keys(struct smp_chan *smp)

>>>              *keydist &= ~SMP_SC_NO_DIST;

>>>      }

>>> 

>>> -     BT_DBG("keydist 0x%x", *keydist);

>>> +     bt_dev_dbg(hdev, "keydist 0x%x", *keydist);

>>> 

>>>      if (*keydist & SMP_DIST_ENC_KEY) {

>>>              struct smp_cmd_encrypt_info enc;

>>> @@ -1366,13 +1368,14 @@ static void smp_timeout(struct work_struct *work)

>>>                                          security_timer.work);

>>>      struct l2cap_conn *conn = smp->conn;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);

>>> 

>>>      hci_disconnect(conn->hcon, HCI_ERROR_REMOTE_USER_TERM);

>>> }

>>> 

>>> static struct smp_chan *smp_chan_create(struct l2cap_conn *conn)

>>> {

>>> +     struct hci_conn *hcon = conn->hcon;

>>>      struct l2cap_chan *chan = conn->smp;

>>>      struct smp_chan *smp;

>>> 

>>> @@ -1382,13 +1385,13 @@ static struct smp_chan *smp_chan_create(struct l2cap_conn *conn)

>>> 

>>>      smp->tfm_cmac = crypto_alloc_shash("cmac(aes)", 0, 0);

>>>      if (IS_ERR(smp->tfm_cmac)) {

>>> -             BT_ERR("Unable to create CMAC crypto context");

>>> +             bt_dev_err(hcon->hdev, "Unable to create CMAC crypto context");

>>>              goto zfree_smp;

>>>      }

>>> 

>>>      smp->tfm_ecdh = crypto_alloc_kpp("ecdh", 0, 0);

>>>      if (IS_ERR(smp->tfm_ecdh)) {

>>> -             BT_ERR("Unable to create ECDH crypto context");

>>> +             bt_dev_err(hcon->hdev, "Unable to create ECDH crypto context");

>>>              goto free_shash;

>>>      }

>>> 

>>> @@ -1399,7 +1402,7 @@ static struct smp_chan *smp_chan_create(struct l2cap_conn *conn)

>>> 

>>>      INIT_DELAYED_WORK(&smp->security_timer, smp_timeout);

>>> 

>>> -     hci_conn_hold(conn->hcon);

>>> +     hci_conn_hold(hcon);

>>> 

>>>      return smp;

>>> 

>>> @@ -1564,8 +1567,8 @@ static u8 sc_passkey_round(struct smp_chan *smp, u8 smp_op)

>>>              if (!hcon->out)

>>>                      return 0;

>>> 

>>> -             BT_DBG("%s Starting passkey round %u", hdev->name,

>>> -                    smp->passkey_round + 1);

>>> +             bt_dev_dbg(hdev, "%s Starting passkey round %u", hdev->name,

>>> +                        smp->passkey_round + 1);

>>> 

>>>              SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_CONFIRM);

>>> 

>>> @@ -1625,7 +1628,7 @@ int smp_user_confirm_reply(struct hci_conn *hcon, u16 mgmt_op, __le32 passkey)

>>>      u32 value;

>>>      int err;

>>> 

>>> -     BT_DBG("");

>>> +     bt_dev_dbg(conn->hcon->hdev, "");

>>> 

>>>      if (!conn)

>>>              return -ENOTCONN;

>>> @@ -1651,7 +1654,7 @@ int smp_user_confirm_reply(struct hci_conn *hcon, u16 mgmt_op, __le32 passkey)

>>>      case MGMT_OP_USER_PASSKEY_REPLY:

>>>              value = le32_to_cpu(passkey);

>>>              memset(smp->tk, 0, sizeof(smp->tk));

>>> -             BT_DBG("PassKey: %d", value);

>>> +             bt_dev_dbg(conn->hcon->hdev, "PassKey: %d", value);

>>>              put_unaligned_le32(value, smp->tk);

>>>              fallthrough;

>>>      case MGMT_OP_USER_CONFIRM_REPLY:

>>> @@ -1733,7 +1736,7 @@ static u8 smp_cmd_pairing_req(struct l2cap_conn *conn, struct sk_buff *skb)

>>>      u8 key_size, auth, sec_level;

>>>      int ret;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(hdev, "conn %p", conn);

>>> 

>>>      if (skb->len < sizeof(*req))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -1887,7 +1890,7 @@ static u8 sc_send_public_key(struct smp_chan *smp)

>>>      }

>>> 

>>>      if (hci_dev_test_flag(hdev, HCI_USE_DEBUG_KEYS)) {

>>> -             BT_DBG("Using debug keys");

>>> +             bt_dev_dbg(hdev, "Using debug keys");

>>>              if (set_ecdh_privkey(smp->tfm_ecdh, debug_sk))

>>>                      return SMP_UNSPECIFIED;

>>>              memcpy(smp->local_pk, debug_pk, 64);

>>> @@ -1924,7 +1927,7 @@ static u8 smp_cmd_pairing_rsp(struct l2cap_conn *conn, struct sk_buff *skb)

>>>      u8 key_size, auth;

>>>      int ret;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(hdev, "conn %p", conn);

>>> 

>>>      if (skb->len < sizeof(*rsp))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -2019,7 +2022,7 @@ static u8 sc_check_confirm(struct smp_chan *smp)

>>> {

>>>      struct l2cap_conn *conn = smp->conn;

>>> 

>>> -     BT_DBG("");

>>> +     bt_dev_dbg(conn->hcon->hdev, "");

>>> 

>>>      if (smp->method == REQ_PASSKEY || smp->method == DSP_PASSKEY)

>>>              return sc_passkey_round(smp, SMP_CMD_PAIRING_CONFIRM);

>>> @@ -2078,8 +2081,10 @@ static u8 smp_cmd_pairing_confirm(struct l2cap_conn *conn, struct sk_buff *skb)

>>> {

>>>      struct l2cap_chan *chan = conn->smp;

>>>      struct smp_chan *smp = chan->data;

>>> +     struct hci_conn *hcon = conn->hcon;

>>> +     struct hci_dev *hdev = hcon->hdev;

>>> 

>>> -     BT_DBG("conn %p %s", conn, conn->hcon->out ? "master" : "slave");

>>> +     bt_dev_dbg(hdev, "conn %p %s", conn, hcon->out ? "master" : "slave");

>>> 

>>>      if (skb->len < sizeof(smp->pcnf))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -2094,7 +2099,7 @@ static u8 smp_cmd_pairing_confirm(struct l2cap_conn *conn, struct sk_buff *skb)

>>>              if (test_bit(SMP_FLAG_REMOTE_PK, &smp->flags))

>>>                      return sc_check_confirm(smp);

>>> 

>>> -             BT_ERR("Unexpected SMP Pairing Confirm");

>>> +             bt_dev_err(hdev, "Unexpected SMP Pairing Confirm");

>>> 

>>>              ret = fixup_sc_false_positive(smp);

>>>              if (ret)

>>> @@ -2125,7 +2130,7 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb)

>>>      u32 passkey;

>>>      int err;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(hcon->hdev, "conn %p", conn);

>>> 

>>>      if (skb->len < sizeof(smp->rrnd))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -2284,7 +2289,7 @@ static u8 smp_cmd_security_req(struct l2cap_conn *conn, struct sk_buff *skb)

>>>      struct smp_chan *smp;

>>>      u8 sec_level, auth;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(hdev, "conn %p", conn);

>>> 

>>>      if (skb->len < sizeof(*rp))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -2347,7 +2352,8 @@ int smp_conn_security(struct hci_conn *hcon, __u8 sec_level)

>>>      __u8 authreq;

>>>      int ret;

>>> 

>>> -     BT_DBG("conn %p hcon %p level 0x%2.2x", conn, hcon, sec_level);

>>> +     bt_dev_dbg(hcon->hdev, "conn %p hcon %p level 0x%2.2x", conn, hcon,

>>> +                sec_level);

>>> 

>>>      /* This may be NULL if there's an unexpected disconnection */

>>>      if (!conn)

>>> @@ -2483,7 +2489,7 @@ static int smp_cmd_encrypt_info(struct l2cap_conn *conn, struct sk_buff *skb)

>>>      struct l2cap_chan *chan = conn->smp;

>>>      struct smp_chan *smp = chan->data;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);

>>> 

>>>      if (skb->len < sizeof(*rp))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -2516,7 +2522,7 @@ static int smp_cmd_master_ident(struct l2cap_conn *conn, struct sk_buff *skb)

>>>      struct smp_ltk *ltk;

>>>      u8 authenticated;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(hdev, "conn %p", conn);

>>> 

>>>      if (skb->len < sizeof(*rp))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -2548,7 +2554,7 @@ static int smp_cmd_ident_info(struct l2cap_conn *conn, struct sk_buff *skb)

>>>      struct l2cap_chan *chan = conn->smp;

>>>      struct smp_chan *smp = chan->data;

>>> 

>>> -     BT_DBG("");

>>> +     bt_dev_dbg(conn->hcon->hdev, "");

>>> 

>>>      if (skb->len < sizeof(*info))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -2580,7 +2586,7 @@ static int smp_cmd_ident_addr_info(struct l2cap_conn *conn,

>>>      struct hci_conn *hcon = conn->hcon;

>>>      bdaddr_t rpa;

>>> 

>>> -     BT_DBG("");

>>> +     bt_dev_dbg(hcon->hdev, "");

>>> 

>>>      if (skb->len < sizeof(*info))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -2647,7 +2653,7 @@ static int smp_cmd_sign_info(struct l2cap_conn *conn, struct sk_buff *skb)

>>>      struct smp_chan *smp = chan->data;

>>>      struct smp_csrk *csrk;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);

>>> 

>>>      if (skb->len < sizeof(*rp))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -2727,7 +2733,7 @@ static int smp_cmd_public_key(struct l2cap_conn *conn, struct sk_buff *skb)

>>>      struct smp_cmd_pairing_confirm cfm;

>>>      int err;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(hdev, "conn %p", conn);

>>> 

>>>      if (skb->len < sizeof(*key))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -2791,7 +2797,7 @@ static int smp_cmd_public_key(struct l2cap_conn *conn, struct sk_buff *skb)

>>> 

>>>      smp->method = sc_select_method(smp);

>>> 

>>> -     BT_DBG("%s selected method 0x%02x", hdev->name, smp->method);

>>> +     bt_dev_dbg(hdev, "%s selected method 0x%02x", hdev->name, smp->method);

>>> 

>>>      /* JUST_WORKS and JUST_CFM result in an unauthenticated key */

>>>      if (smp->method == JUST_WORKS || smp->method == JUST_CFM)

>>> @@ -2866,7 +2872,7 @@ static int smp_cmd_dhkey_check(struct l2cap_conn *conn, struct sk_buff *skb)

>>>      u8 io_cap[3], r[16], e[16];

>>>      int err;

>>> 

>>> -     BT_DBG("conn %p", conn);

>>> +     bt_dev_dbg(hcon->hdev, "conn %p", conn);

>>> 

>>>      if (skb->len < sizeof(*check))

>>>              return SMP_INVALID_PARAMS;

>>> @@ -2926,7 +2932,7 @@ static int smp_cmd_keypress_notify(struct l2cap_conn *conn,

>>> {

>>>      struct smp_cmd_keypress_notify *kp = (void *) skb->data;

>>> 

>>> -     BT_DBG("value 0x%02x", kp->value);

>>> +     bt_dev_dbg(conn->hcon->hdev, "value 0x%02x", kp->value);

>>> 

>>>      return 0;

>>> }

>>> @@ -3023,7 +3029,7 @@ static int smp_sig_channel(struct l2cap_chan *chan, struct sk_buff *skb)

>>>              break;

>>> 

>>>      default:

>>> -             BT_DBG("Unknown command code 0x%2.2x", code);

>>> +             bt_dev_dbg(hcon->hdev, "Unknown command code 0x%2.2x", code);

>>>              reason = SMP_CMD_NOTSUPP;

>>>              goto done;

>>>      }

>>> @@ -3048,7 +3054,7 @@ static void smp_teardown_cb(struct l2cap_chan *chan, int err)

>>> {

>>>      struct l2cap_conn *conn = chan->conn;

>>> 

>>> -     BT_DBG("chan %p", chan);

>>> +     bt_dev_dbg(conn->hcon->hdev, "chan %p", chan);

>>> 

>>>      if (chan->data)

>>>              smp_chan_destroy(conn);

>>> @@ -3065,7 +3071,7 @@ static void bredr_pairing(struct l2cap_chan *chan)

>>>      struct smp_cmd_pairing req;

>>>      struct smp_chan *smp;

>>> 

>>> -     BT_DBG("chan %p", chan);

>>> +     bt_dev_dbg(hdev, "chan %p", chan);

>>> 

>>>      /* Only new pairings are interesting */

>>>      if (!test_bit(HCI_CONN_NEW_LINK_KEY, &hcon->flags))

>>> @@ -3112,7 +3118,7 @@ static void bredr_pairing(struct l2cap_chan *chan)

>>> 

>>>      set_bit(SMP_FLAG_SC, &smp->flags);

>>> 

>>> -     BT_DBG("%s starting SMP over BR/EDR", hdev->name);

>>> +     bt_dev_dbg(hdev, "%s starting SMP over BR/EDR", hdev->name);

>>> 

>>>      /* Prepare and send the BR/EDR SMP Pairing Request */

>>>      build_bredr_pairing_cmd(smp, &req, NULL);

>>> @@ -3130,7 +3136,7 @@ static void smp_resume_cb(struct l2cap_chan *chan)

>>>      struct l2cap_conn *conn = chan->conn;

>>>      struct hci_conn *hcon = conn->hcon;

>>> 

>>> -     BT_DBG("chan %p", chan);

>>> +     bt_dev_dbg(hcon->hdev, "chan %p", chan);

>>> 

>>>      if (hcon->type == ACL_LINK) {

>>>              bredr_pairing(chan);

>>> @@ -3153,7 +3159,7 @@ static void smp_ready_cb(struct l2cap_chan *chan)

>>>      struct l2cap_conn *conn = chan->conn;

>>>      struct hci_conn *hcon = conn->hcon;

>>> 

>>> -     BT_DBG("chan %p", chan);

>>> +     bt_dev_dbg(hcon->hdev, "chan %p", chan);

>>> 

>>>      /* No need to call l2cap_chan_hold() here since we already own

>>>       * the reference taken in smp_new_conn_cb(). This is just the

>>> @@ -3171,7 +3177,7 @@ static int smp_recv_cb(struct l2cap_chan *chan, struct sk_buff *skb)

>>> {

>>>      int err;

>>> 

>>> -     BT_DBG("chan %p", chan);

>>> +     bt_dev_dbg(chan->conn->hcon->hdev, "chan %p", chan);

>>> 

>>>      err = smp_sig_channel(chan, skb);

>>>      if (err) {

>>> @@ -3223,7 +3229,7 @@ static inline struct l2cap_chan *smp_new_conn_cb(struct l2cap_chan *pchan)

>>> {

>>>      struct l2cap_chan *chan;

>>> 

>>> -     BT_DBG("pchan %p", pchan);

>>> +     bt_dev_dbg(pchan->conn->hcon->hdev, "pchan %p", pchan);

>>> 

>>>      chan = l2cap_chan_create();

>>>      if (!chan)

>>> @@ -3244,7 +3250,7 @@ static inline struct l2cap_chan *smp_new_conn_cb(struct l2cap_chan *pchan)

>>>       */

>>>      atomic_set(&chan->nesting, L2CAP_NESTING_SMP);

>>> 

>>> -     BT_DBG("created chan %p", chan);

>>> +     bt_dev_dbg(pchan->conn->hcon->hdev, "created chan %p", chan);

>>> 

>>>      return chan;

>>> }

>>> @@ -3285,14 +3291,14 @@ static struct l2cap_chan *smp_add_cid(struct hci_dev *hdev, u16 cid)

>>> 

>>>      tfm_cmac = crypto_alloc_shash("cmac(aes)", 0, 0);

>>>      if (IS_ERR(tfm_cmac)) {

>>> -             BT_ERR("Unable to create CMAC crypto context");

>>> +             bt_dev_err(hdev, "Unable to create CMAC crypto context");

>>>              kfree_sensitive(smp);

>>>              return ERR_CAST(tfm_cmac);

>>>      }

>>> 

>>>      tfm_ecdh = crypto_alloc_kpp("ecdh", 0, 0);

>>>      if (IS_ERR(tfm_ecdh)) {

>>> -             BT_ERR("Unable to create ECDH crypto context");

>>> +             bt_dev_err(hdev, "Unable to create ECDH crypto context");

>>>              crypto_free_shash(tfm_cmac);

>>>              kfree_sensitive(smp);

>>>              return ERR_CAST(tfm_ecdh);

>>> @@ -3348,7 +3354,7 @@ static void smp_del_chan(struct l2cap_chan *chan)

>>> {

>>>      struct smp_dev *smp;

>>> 

>>> -     BT_DBG("chan %p", chan);

>>> +     bt_dev_dbg(chan->conn->hcon->hdev, "chan %p", chan);

>>> 

>>>      smp = chan->data;

>>>      if (smp) {

>>> @@ -3391,7 +3397,7 @@ int smp_register(struct hci_dev *hdev)

>>> {

>>>      struct l2cap_chan *chan;

>>> 

>>> -     BT_DBG("%s", hdev->name);

>>> +     bt_dev_dbg(hdev, "%s", hdev->name);

>> 

>> this is rather pointless since it just ends up printing hciX twice.

> 

> Right, I missed the fact that bt_dev_debug does exactly that, I guess

> we should convert this to just bt_dev_dbg(hdev, "") or shall we remove

> it entirely?


lets use bt_dev_dbg(hdev, “") for now.

Regards

Marcel
diff mbox series

Patch

diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c
index e03cc284161c..3cc1ad042edf 100644
--- a/net/bluetooth/smp.c
+++ b/net/bluetooth/smp.c
@@ -595,7 +595,7 @@  static void smp_send_cmd(struct l2cap_conn *conn, u8 code, u16 len, void *data)
 	if (!chan)
 		return;
 
-	BT_DBG("code 0x%2.2x", code);
+	bt_dev_dbg(conn->hcon->hdev, "code 0x%2.2x", code);
 
 	iv[0].iov_base = &code;
 	iv[0].iov_len = 1;
@@ -859,7 +859,8 @@  static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth,
 	memset(smp->tk, 0, sizeof(smp->tk));
 	clear_bit(SMP_FLAG_TK_VALID, &smp->flags);
 
-	BT_DBG("tk_request: auth:%d lcl:%d rem:%d", auth, local_io, remote_io);
+	bt_dev_dbg(hcon->hdev, "auth:%d lcl:%d rem:%d", auth, local_io,
+		   remote_io);
 
 	/* If neither side wants MITM, either "just" confirm an incoming
 	 * request or use just-works for outgoing ones. The JUST_CFM
@@ -924,7 +925,7 @@  static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth,
 		get_random_bytes(&passkey, sizeof(passkey));
 		passkey %= 1000000;
 		put_unaligned_le32(passkey, smp->tk);
-		BT_DBG("PassKey: %d", passkey);
+		bt_dev_dbg(hcon->hdev, "PassKey: %d", passkey);
 		set_bit(SMP_FLAG_TK_VALID, &smp->flags);
 	}
 
@@ -949,7 +950,7 @@  static u8 smp_confirm(struct smp_chan *smp)
 	struct smp_cmd_pairing_confirm cp;
 	int ret;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);
 
 	ret = smp_c1(smp->tk, smp->prnd, smp->preq, smp->prsp,
 		     conn->hcon->init_addr_type, &conn->hcon->init_addr,
@@ -977,7 +978,8 @@  static u8 smp_random(struct smp_chan *smp)
 	u8 confirm[16];
 	int ret;
 
-	BT_DBG("conn %p %s", conn, conn->hcon->out ? "master" : "slave");
+	bt_dev_dbg(conn->hcon->hdev, "conn %p %s", conn,
+		   conn->hcon->out ? "master" : "slave");
 
 	ret = smp_c1(smp->tk, smp->rrnd, smp->preq, smp->prsp,
 		     hcon->init_addr_type, &hcon->init_addr,
@@ -1236,7 +1238,7 @@  static void smp_distribute_keys(struct smp_chan *smp)
 	struct hci_dev *hdev = hcon->hdev;
 	__u8 *keydist;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(hdev, "conn %p", conn);
 
 	rsp = (void *) &smp->prsp[1];
 
@@ -1266,7 +1268,7 @@  static void smp_distribute_keys(struct smp_chan *smp)
 		*keydist &= ~SMP_SC_NO_DIST;
 	}
 
-	BT_DBG("keydist 0x%x", *keydist);
+	bt_dev_dbg(hdev, "keydist 0x%x", *keydist);
 
 	if (*keydist & SMP_DIST_ENC_KEY) {
 		struct smp_cmd_encrypt_info enc;
@@ -1366,13 +1368,14 @@  static void smp_timeout(struct work_struct *work)
 					    security_timer.work);
 	struct l2cap_conn *conn = smp->conn;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);
 
 	hci_disconnect(conn->hcon, HCI_ERROR_REMOTE_USER_TERM);
 }
 
 static struct smp_chan *smp_chan_create(struct l2cap_conn *conn)
 {
+	struct hci_conn *hcon = conn->hcon;
 	struct l2cap_chan *chan = conn->smp;
 	struct smp_chan *smp;
 
@@ -1382,13 +1385,13 @@  static struct smp_chan *smp_chan_create(struct l2cap_conn *conn)
 
 	smp->tfm_cmac = crypto_alloc_shash("cmac(aes)", 0, 0);
 	if (IS_ERR(smp->tfm_cmac)) {
-		BT_ERR("Unable to create CMAC crypto context");
+		bt_dev_err(hcon->hdev, "Unable to create CMAC crypto context");
 		goto zfree_smp;
 	}
 
 	smp->tfm_ecdh = crypto_alloc_kpp("ecdh", 0, 0);
 	if (IS_ERR(smp->tfm_ecdh)) {
-		BT_ERR("Unable to create ECDH crypto context");
+		bt_dev_err(hcon->hdev, "Unable to create ECDH crypto context");
 		goto free_shash;
 	}
 
@@ -1399,7 +1402,7 @@  static struct smp_chan *smp_chan_create(struct l2cap_conn *conn)
 
 	INIT_DELAYED_WORK(&smp->security_timer, smp_timeout);
 
-	hci_conn_hold(conn->hcon);
+	hci_conn_hold(hcon);
 
 	return smp;
 
@@ -1564,8 +1567,8 @@  static u8 sc_passkey_round(struct smp_chan *smp, u8 smp_op)
 		if (!hcon->out)
 			return 0;
 
-		BT_DBG("%s Starting passkey round %u", hdev->name,
-		       smp->passkey_round + 1);
+		bt_dev_dbg(hdev, "%s Starting passkey round %u", hdev->name,
+			   smp->passkey_round + 1);
 
 		SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_CONFIRM);
 
@@ -1625,7 +1628,7 @@  int smp_user_confirm_reply(struct hci_conn *hcon, u16 mgmt_op, __le32 passkey)
 	u32 value;
 	int err;
 
-	BT_DBG("");
+	bt_dev_dbg(conn->hcon->hdev, "");
 
 	if (!conn)
 		return -ENOTCONN;
@@ -1651,7 +1654,7 @@  int smp_user_confirm_reply(struct hci_conn *hcon, u16 mgmt_op, __le32 passkey)
 	case MGMT_OP_USER_PASSKEY_REPLY:
 		value = le32_to_cpu(passkey);
 		memset(smp->tk, 0, sizeof(smp->tk));
-		BT_DBG("PassKey: %d", value);
+		bt_dev_dbg(conn->hcon->hdev, "PassKey: %d", value);
 		put_unaligned_le32(value, smp->tk);
 		fallthrough;
 	case MGMT_OP_USER_CONFIRM_REPLY:
@@ -1733,7 +1736,7 @@  static u8 smp_cmd_pairing_req(struct l2cap_conn *conn, struct sk_buff *skb)
 	u8 key_size, auth, sec_level;
 	int ret;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(hdev, "conn %p", conn);
 
 	if (skb->len < sizeof(*req))
 		return SMP_INVALID_PARAMS;
@@ -1887,7 +1890,7 @@  static u8 sc_send_public_key(struct smp_chan *smp)
 	}
 
 	if (hci_dev_test_flag(hdev, HCI_USE_DEBUG_KEYS)) {
-		BT_DBG("Using debug keys");
+		bt_dev_dbg(hdev, "Using debug keys");
 		if (set_ecdh_privkey(smp->tfm_ecdh, debug_sk))
 			return SMP_UNSPECIFIED;
 		memcpy(smp->local_pk, debug_pk, 64);
@@ -1924,7 +1927,7 @@  static u8 smp_cmd_pairing_rsp(struct l2cap_conn *conn, struct sk_buff *skb)
 	u8 key_size, auth;
 	int ret;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(hdev, "conn %p", conn);
 
 	if (skb->len < sizeof(*rsp))
 		return SMP_INVALID_PARAMS;
@@ -2019,7 +2022,7 @@  static u8 sc_check_confirm(struct smp_chan *smp)
 {
 	struct l2cap_conn *conn = smp->conn;
 
-	BT_DBG("");
+	bt_dev_dbg(conn->hcon->hdev, "");
 
 	if (smp->method == REQ_PASSKEY || smp->method == DSP_PASSKEY)
 		return sc_passkey_round(smp, SMP_CMD_PAIRING_CONFIRM);
@@ -2078,8 +2081,10 @@  static u8 smp_cmd_pairing_confirm(struct l2cap_conn *conn, struct sk_buff *skb)
 {
 	struct l2cap_chan *chan = conn->smp;
 	struct smp_chan *smp = chan->data;
+	struct hci_conn *hcon = conn->hcon;
+	struct hci_dev *hdev = hcon->hdev;
 
-	BT_DBG("conn %p %s", conn, conn->hcon->out ? "master" : "slave");
+	bt_dev_dbg(hdev, "conn %p %s", conn, hcon->out ? "master" : "slave");
 
 	if (skb->len < sizeof(smp->pcnf))
 		return SMP_INVALID_PARAMS;
@@ -2094,7 +2099,7 @@  static u8 smp_cmd_pairing_confirm(struct l2cap_conn *conn, struct sk_buff *skb)
 		if (test_bit(SMP_FLAG_REMOTE_PK, &smp->flags))
 			return sc_check_confirm(smp);
 
-		BT_ERR("Unexpected SMP Pairing Confirm");
+		bt_dev_err(hdev, "Unexpected SMP Pairing Confirm");
 
 		ret = fixup_sc_false_positive(smp);
 		if (ret)
@@ -2125,7 +2130,7 @@  static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb)
 	u32 passkey;
 	int err;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(hcon->hdev, "conn %p", conn);
 
 	if (skb->len < sizeof(smp->rrnd))
 		return SMP_INVALID_PARAMS;
@@ -2284,7 +2289,7 @@  static u8 smp_cmd_security_req(struct l2cap_conn *conn, struct sk_buff *skb)
 	struct smp_chan *smp;
 	u8 sec_level, auth;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(hdev, "conn %p", conn);
 
 	if (skb->len < sizeof(*rp))
 		return SMP_INVALID_PARAMS;
@@ -2347,7 +2352,8 @@  int smp_conn_security(struct hci_conn *hcon, __u8 sec_level)
 	__u8 authreq;
 	int ret;
 
-	BT_DBG("conn %p hcon %p level 0x%2.2x", conn, hcon, sec_level);
+	bt_dev_dbg(hcon->hdev, "conn %p hcon %p level 0x%2.2x", conn, hcon,
+		   sec_level);
 
 	/* This may be NULL if there's an unexpected disconnection */
 	if (!conn)
@@ -2483,7 +2489,7 @@  static int smp_cmd_encrypt_info(struct l2cap_conn *conn, struct sk_buff *skb)
 	struct l2cap_chan *chan = conn->smp;
 	struct smp_chan *smp = chan->data;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);
 
 	if (skb->len < sizeof(*rp))
 		return SMP_INVALID_PARAMS;
@@ -2516,7 +2522,7 @@  static int smp_cmd_master_ident(struct l2cap_conn *conn, struct sk_buff *skb)
 	struct smp_ltk *ltk;
 	u8 authenticated;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(hdev, "conn %p", conn);
 
 	if (skb->len < sizeof(*rp))
 		return SMP_INVALID_PARAMS;
@@ -2548,7 +2554,7 @@  static int smp_cmd_ident_info(struct l2cap_conn *conn, struct sk_buff *skb)
 	struct l2cap_chan *chan = conn->smp;
 	struct smp_chan *smp = chan->data;
 
-	BT_DBG("");
+	bt_dev_dbg(conn->hcon->hdev, "");
 
 	if (skb->len < sizeof(*info))
 		return SMP_INVALID_PARAMS;
@@ -2580,7 +2586,7 @@  static int smp_cmd_ident_addr_info(struct l2cap_conn *conn,
 	struct hci_conn *hcon = conn->hcon;
 	bdaddr_t rpa;
 
-	BT_DBG("");
+	bt_dev_dbg(hcon->hdev, "");
 
 	if (skb->len < sizeof(*info))
 		return SMP_INVALID_PARAMS;
@@ -2647,7 +2653,7 @@  static int smp_cmd_sign_info(struct l2cap_conn *conn, struct sk_buff *skb)
 	struct smp_chan *smp = chan->data;
 	struct smp_csrk *csrk;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(conn->hcon->hdev, "conn %p", conn);
 
 	if (skb->len < sizeof(*rp))
 		return SMP_INVALID_PARAMS;
@@ -2727,7 +2733,7 @@  static int smp_cmd_public_key(struct l2cap_conn *conn, struct sk_buff *skb)
 	struct smp_cmd_pairing_confirm cfm;
 	int err;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(hdev, "conn %p", conn);
 
 	if (skb->len < sizeof(*key))
 		return SMP_INVALID_PARAMS;
@@ -2791,7 +2797,7 @@  static int smp_cmd_public_key(struct l2cap_conn *conn, struct sk_buff *skb)
 
 	smp->method = sc_select_method(smp);
 
-	BT_DBG("%s selected method 0x%02x", hdev->name, smp->method);
+	bt_dev_dbg(hdev, "%s selected method 0x%02x", hdev->name, smp->method);
 
 	/* JUST_WORKS and JUST_CFM result in an unauthenticated key */
 	if (smp->method == JUST_WORKS || smp->method == JUST_CFM)
@@ -2866,7 +2872,7 @@  static int smp_cmd_dhkey_check(struct l2cap_conn *conn, struct sk_buff *skb)
 	u8 io_cap[3], r[16], e[16];
 	int err;
 
-	BT_DBG("conn %p", conn);
+	bt_dev_dbg(hcon->hdev, "conn %p", conn);
 
 	if (skb->len < sizeof(*check))
 		return SMP_INVALID_PARAMS;
@@ -2926,7 +2932,7 @@  static int smp_cmd_keypress_notify(struct l2cap_conn *conn,
 {
 	struct smp_cmd_keypress_notify *kp = (void *) skb->data;
 
-	BT_DBG("value 0x%02x", kp->value);
+	bt_dev_dbg(conn->hcon->hdev, "value 0x%02x", kp->value);
 
 	return 0;
 }
@@ -3023,7 +3029,7 @@  static int smp_sig_channel(struct l2cap_chan *chan, struct sk_buff *skb)
 		break;
 
 	default:
-		BT_DBG("Unknown command code 0x%2.2x", code);
+		bt_dev_dbg(hcon->hdev, "Unknown command code 0x%2.2x", code);
 		reason = SMP_CMD_NOTSUPP;
 		goto done;
 	}
@@ -3048,7 +3054,7 @@  static void smp_teardown_cb(struct l2cap_chan *chan, int err)
 {
 	struct l2cap_conn *conn = chan->conn;
 
-	BT_DBG("chan %p", chan);
+	bt_dev_dbg(conn->hcon->hdev, "chan %p", chan);
 
 	if (chan->data)
 		smp_chan_destroy(conn);
@@ -3065,7 +3071,7 @@  static void bredr_pairing(struct l2cap_chan *chan)
 	struct smp_cmd_pairing req;
 	struct smp_chan *smp;
 
-	BT_DBG("chan %p", chan);
+	bt_dev_dbg(hdev, "chan %p", chan);
 
 	/* Only new pairings are interesting */
 	if (!test_bit(HCI_CONN_NEW_LINK_KEY, &hcon->flags))
@@ -3112,7 +3118,7 @@  static void bredr_pairing(struct l2cap_chan *chan)
 
 	set_bit(SMP_FLAG_SC, &smp->flags);
 
-	BT_DBG("%s starting SMP over BR/EDR", hdev->name);
+	bt_dev_dbg(hdev, "%s starting SMP over BR/EDR", hdev->name);
 
 	/* Prepare and send the BR/EDR SMP Pairing Request */
 	build_bredr_pairing_cmd(smp, &req, NULL);
@@ -3130,7 +3136,7 @@  static void smp_resume_cb(struct l2cap_chan *chan)
 	struct l2cap_conn *conn = chan->conn;
 	struct hci_conn *hcon = conn->hcon;
 
-	BT_DBG("chan %p", chan);
+	bt_dev_dbg(hcon->hdev, "chan %p", chan);
 
 	if (hcon->type == ACL_LINK) {
 		bredr_pairing(chan);
@@ -3153,7 +3159,7 @@  static void smp_ready_cb(struct l2cap_chan *chan)
 	struct l2cap_conn *conn = chan->conn;
 	struct hci_conn *hcon = conn->hcon;
 
-	BT_DBG("chan %p", chan);
+	bt_dev_dbg(hcon->hdev, "chan %p", chan);
 
 	/* No need to call l2cap_chan_hold() here since we already own
 	 * the reference taken in smp_new_conn_cb(). This is just the
@@ -3171,7 +3177,7 @@  static int smp_recv_cb(struct l2cap_chan *chan, struct sk_buff *skb)
 {
 	int err;
 
-	BT_DBG("chan %p", chan);
+	bt_dev_dbg(chan->conn->hcon->hdev, "chan %p", chan);
 
 	err = smp_sig_channel(chan, skb);
 	if (err) {
@@ -3223,7 +3229,7 @@  static inline struct l2cap_chan *smp_new_conn_cb(struct l2cap_chan *pchan)
 {
 	struct l2cap_chan *chan;
 
-	BT_DBG("pchan %p", pchan);
+	bt_dev_dbg(pchan->conn->hcon->hdev, "pchan %p", pchan);
 
 	chan = l2cap_chan_create();
 	if (!chan)
@@ -3244,7 +3250,7 @@  static inline struct l2cap_chan *smp_new_conn_cb(struct l2cap_chan *pchan)
 	 */
 	atomic_set(&chan->nesting, L2CAP_NESTING_SMP);
 
-	BT_DBG("created chan %p", chan);
+	bt_dev_dbg(pchan->conn->hcon->hdev, "created chan %p", chan);
 
 	return chan;
 }
@@ -3285,14 +3291,14 @@  static struct l2cap_chan *smp_add_cid(struct hci_dev *hdev, u16 cid)
 
 	tfm_cmac = crypto_alloc_shash("cmac(aes)", 0, 0);
 	if (IS_ERR(tfm_cmac)) {
-		BT_ERR("Unable to create CMAC crypto context");
+		bt_dev_err(hdev, "Unable to create CMAC crypto context");
 		kfree_sensitive(smp);
 		return ERR_CAST(tfm_cmac);
 	}
 
 	tfm_ecdh = crypto_alloc_kpp("ecdh", 0, 0);
 	if (IS_ERR(tfm_ecdh)) {
-		BT_ERR("Unable to create ECDH crypto context");
+		bt_dev_err(hdev, "Unable to create ECDH crypto context");
 		crypto_free_shash(tfm_cmac);
 		kfree_sensitive(smp);
 		return ERR_CAST(tfm_ecdh);
@@ -3348,7 +3354,7 @@  static void smp_del_chan(struct l2cap_chan *chan)
 {
 	struct smp_dev *smp;
 
-	BT_DBG("chan %p", chan);
+	bt_dev_dbg(chan->conn->hcon->hdev, "chan %p", chan);
 
 	smp = chan->data;
 	if (smp) {
@@ -3391,7 +3397,7 @@  int smp_register(struct hci_dev *hdev)
 {
 	struct l2cap_chan *chan;
 
-	BT_DBG("%s", hdev->name);
+	bt_dev_dbg(hdev, "%s", hdev->name);
 
 	/* If the controller does not support Low Energy operation, then
 	 * there is also no need to register any SMP channel.