diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 25ddba2f603b..5ac2357e92c9 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c @@ -404,10 +404,7 @@ static u8 hci_cc_write_auth_enable(struct hci_dev *hdev, void *data, if (!rp->status) { __u8 param = *((__u8 *) sent); - if (param == AUTH_ENABLED) - set_bit(HCI_AUTH, &hdev->flags); - else - clear_bit(HCI_AUTH, &hdev->flags); + assign_bit(HCI_AUTH, &hdev->flags, param == AUTH_ENABLED); } if (hci_dev_test_flag(hdev, HCI_MGMT)) @@ -436,10 +433,7 @@ static u8 hci_cc_write_encrypt_mode(struct hci_dev *hdev, void *data, param = *((__u8 *) sent); - if (param) - set_bit(HCI_ENCRYPT, &hdev->flags); - else - clear_bit(HCI_ENCRYPT, &hdev->flags); + assign_bit(HCI_ENCRYPT, &hdev->flags, param); return rp->status; } @@ -466,15 +460,9 @@ static u8 hci_cc_write_scan_enable(struct hci_dev *hdev, void *data, goto done; } - if (param & SCAN_INQUIRY) - set_bit(HCI_ISCAN, &hdev->flags); - else - clear_bit(HCI_ISCAN, &hdev->flags); + assign_bit(HCI_ISCAN, &hdev->flags, param & SCAN_INQUIRY); - if (param & SCAN_PAGE) - set_bit(HCI_PSCAN, &hdev->flags); - else - clear_bit(HCI_PSCAN, &hdev->flags); + assign_bit(HCI_PSCAN, &hdev->flags, param & SCAN_PAGE); done: hci_dev_unlock(hdev); @@ -4614,10 +4602,8 @@ static void hci_mode_change_evt(struct hci_dev *hdev, void *data, if (!test_and_clear_bit(HCI_CONN_MODE_CHANGE_PEND, &conn->flags)) { - if (conn->mode == HCI_CM_ACTIVE) - set_bit(HCI_CONN_POWER_SAVE, &conn->flags); - else - clear_bit(HCI_CONN_POWER_SAVE, &conn->flags); + assign_bit(HCI_CONN_POWER_SAVE, &conn->flags, + conn->mode == HCI_CM_ACTIVE); } if (test_and_clear_bit(HCI_CONN_SCO_SETUP_PEND, &conn->flags)) @@ -4817,10 +4803,7 @@ static void hci_link_key_notify_evt(struct hci_dev *hdev, void *data, goto unlock; } - if (persistent) - clear_bit(HCI_CONN_FLUSH_KEY, &conn->flags); - else - set_bit(HCI_CONN_FLUSH_KEY, &conn->flags); + assign_bit(HCI_CONN_FLUSH_KEY, &conn->flags, !persistent); unlock: hci_dev_unlock(hdev); diff --git a/net/bluetooth/iso.c b/net/bluetooth/iso.c index d6ac5b1f49bc..cf302e060f79 100644 --- a/net/bluetooth/iso.c +++ b/net/bluetooth/iso.c @@ -1974,10 +1974,7 @@ static int iso_sock_setsockopt(struct socket *sock, int level, int optname, if (err) break; - if (opt) - set_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags); - else - clear_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags); + assign_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags, opt); break; case BT_PKT_STATUS: @@ -1985,10 +1982,7 @@ static int iso_sock_setsockopt(struct socket *sock, int level, int optname, if (err) break; - if (opt) - set_bit(BT_SK_PKT_STATUS, &bt_sk(sk)->flags); - else - clear_bit(BT_SK_PKT_STATUS, &bt_sk(sk)->flags); + assign_bit(BT_SK_PKT_STATUS, &bt_sk(sk)->flags, opt); break; case BT_PKT_SEQNUM: @@ -1996,10 +1990,7 @@ static int iso_sock_setsockopt(struct socket *sock, int level, int optname, if (err) break; - if (opt) - set_bit(BT_SK_PKT_SEQNUM, &bt_sk(sk)->flags); - else - clear_bit(BT_SK_PKT_SEQNUM, &bt_sk(sk)->flags); + assign_bit(BT_SK_PKT_SEQNUM, &bt_sk(sk)->flags, opt); break; case BT_ISO_QOS: diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c index 278adb05c4c9..c92f31b997dd 100644 --- a/net/bluetooth/l2cap_sock.c +++ b/net/bluetooth/l2cap_sock.c @@ -867,15 +867,11 @@ static int l2cap_sock_setsockopt_old(struct socket *sock, int optname, if (opt & L2CAP_LM_SECURE) chan->sec_level = BT_SECURITY_HIGH; - if (opt & L2CAP_LM_MASTER) - set_bit(FLAG_ROLE_SWITCH, &chan->flags); - else - clear_bit(FLAG_ROLE_SWITCH, &chan->flags); + assign_bit(FLAG_ROLE_SWITCH, &chan->flags, + opt & L2CAP_LM_MASTER); - if (opt & L2CAP_LM_RELIABLE) - set_bit(FLAG_FORCE_RELIABLE, &chan->flags); - else - clear_bit(FLAG_FORCE_RELIABLE, &chan->flags); + assign_bit(FLAG_FORCE_RELIABLE, &chan->flags, + opt & L2CAP_LM_RELIABLE); break; default: @@ -1042,10 +1038,7 @@ static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname, } } - if (opt) - set_bit(FLAG_FLUSHABLE, &chan->flags); - else - clear_bit(FLAG_FLUSHABLE, &chan->flags); + assign_bit(FLAG_FLUSHABLE, &chan->flags, opt); break; case BT_POWER: @@ -1061,10 +1054,7 @@ static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname, if (err) break; - if (pwr.force_active) - set_bit(FLAG_FORCE_ACTIVE, &chan->flags); - else - clear_bit(FLAG_FORCE_ACTIVE, &chan->flags); + assign_bit(FLAG_FORCE_ACTIVE, &chan->flags, pwr.force_active); break; case BT_CHANNEL_POLICY: diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c index 54ec1136f87e..8a4205347c4a 100644 --- a/net/bluetooth/rfcomm/core.c +++ b/net/bluetooth/rfcomm/core.c @@ -1740,10 +1740,8 @@ static int rfcomm_recv_msc(struct rfcomm_session *s, int cr, struct sk_buff *skb return 0; if (cr) { - if (msc->v24_sig & RFCOMM_V24_FC && !d->cfc) - set_bit(RFCOMM_TX_THROTTLED, &d->flags); - else - clear_bit(RFCOMM_TX_THROTTLED, &d->flags); + assign_bit(RFCOMM_TX_THROTTLED, &d->flags, + msc->v24_sig & RFCOMM_V24_FC && !d->cfc); rfcomm_dlc_lock(d); diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c index b26918dc9e9e..3fb8b5474948 100644 --- a/net/bluetooth/rfcomm/sock.c +++ b/net/bluetooth/rfcomm/sock.c @@ -724,10 +724,7 @@ static int rfcomm_sock_setsockopt(struct socket *sock, int level, int optname, if (err) break; - if (opt) - set_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags); - else - clear_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags); + assign_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags, opt); break; diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c index f4a20d7b5f9c..8be48ca9f4c5 100644 --- a/net/bluetooth/sco.c +++ b/net/bluetooth/sco.c @@ -1037,10 +1037,7 @@ static int sco_sock_setsockopt(struct socket *sock, int level, int optname, if (err) break; - if (opt) - set_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags); - else - clear_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags); + assign_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags, opt); break; case BT_VOICE: @@ -1080,10 +1077,7 @@ static int sco_sock_setsockopt(struct socket *sock, int level, int optname, if (err) break; - if (opt) - set_bit(BT_SK_PKT_STATUS, &bt_sk(sk)->flags); - else - clear_bit(BT_SK_PKT_STATUS, &bt_sk(sk)->flags); + assign_bit(BT_SK_PKT_STATUS, &bt_sk(sk)->flags, opt); break; case BT_CODEC: