Loading include/net/bluetooth/l2cap.h +25 −25 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ /* L2CAP socket address */ struct sockaddr_l2 { sa_family_t l2_family; unsigned short l2_psm; __le16 l2_psm; bdaddr_t l2_bdaddr; }; Loading Loading @@ -76,32 +76,32 @@ struct l2cap_conninfo { /* L2CAP structures */ struct l2cap_hdr { __u16 len; __u16 cid; __le16 len; __le16 cid; } __attribute__ ((packed)); #define L2CAP_HDR_SIZE 4 struct l2cap_cmd_hdr { __u8 code; __u8 ident; __u16 len; __le16 len; } __attribute__ ((packed)); #define L2CAP_CMD_HDR_SIZE 4 struct l2cap_cmd_rej { __u16 reason; __le16 reason; } __attribute__ ((packed)); struct l2cap_conn_req { __u16 psm; __u16 scid; __le16 psm; __le16 scid; } __attribute__ ((packed)); struct l2cap_conn_rsp { __u16 dcid; __u16 scid; __u16 result; __u16 status; __le16 dcid; __le16 scid; __le16 result; __le16 status; } __attribute__ ((packed)); /* connect result */ Loading @@ -117,15 +117,15 @@ struct l2cap_conn_rsp { #define L2CAP_CS_AUTHOR_PEND 0x0002 struct l2cap_conf_req { __u16 dcid; __u16 flags; __le16 dcid; __le16 flags; __u8 data[0]; } __attribute__ ((packed)); struct l2cap_conf_rsp { __u16 scid; __u16 flags; __u16 result; __le16 scid; __le16 flags; __le16 result; __u8 data[0]; } __attribute__ ((packed)); Loading @@ -149,23 +149,23 @@ struct l2cap_conf_opt { #define L2CAP_CONF_MAX_SIZE 22 struct l2cap_disconn_req { __u16 dcid; __u16 scid; __le16 dcid; __le16 scid; } __attribute__ ((packed)); struct l2cap_disconn_rsp { __u16 dcid; __u16 scid; __le16 dcid; __le16 scid; } __attribute__ ((packed)); struct l2cap_info_req { __u16 type; __le16 type; __u8 data[0]; } __attribute__ ((packed)); struct l2cap_info_rsp { __u16 type; __u16 result; __le16 type; __le16 result; __u8 data[0]; } __attribute__ ((packed)); Loading Loading @@ -207,7 +207,7 @@ struct l2cap_conn { struct l2cap_pinfo { struct bt_sock bt; __u16 psm; __le16 psm; __u16 dcid; __u16 scid; Loading @@ -225,7 +225,7 @@ struct l2cap_pinfo { __u8 ident; __u16 sport; __le16 sport; struct l2cap_conn *conn; struct sock *next_c; Loading net/bluetooth/l2cap.c +14 −13 Original line number Diff line number Diff line Loading @@ -353,7 +353,7 @@ static inline int l2cap_send_cmd(struct l2cap_conn *conn, u8 ident, u8 code, u16 } /* ---- Socket interface ---- */ static struct sock *__l2cap_get_sock_by_addr(u16 psm, bdaddr_t *src) static struct sock *__l2cap_get_sock_by_addr(__le16 psm, bdaddr_t *src) { struct sock *sk; struct hlist_node *node; Loading @@ -368,7 +368,7 @@ static struct sock *__l2cap_get_sock_by_addr(u16 psm, bdaddr_t *src) /* Find socket with psm and source bdaddr. * Returns closest match. */ static struct sock *__l2cap_get_sock_by_psm(int state, u16 psm, bdaddr_t *src) static struct sock *__l2cap_get_sock_by_psm(int state, __le16 psm, bdaddr_t *src) { struct sock *sk = NULL, *sk1 = NULL; struct hlist_node *node; Loading @@ -392,7 +392,7 @@ static struct sock *__l2cap_get_sock_by_psm(int state, u16 psm, bdaddr_t *src) /* Find socket with given address (psm, src). * Returns locked socket */ static inline struct sock *l2cap_get_sock_by_psm(int state, u16 psm, bdaddr_t *src) static inline struct sock *l2cap_get_sock_by_psm(int state, __le16 psm, bdaddr_t *src) { struct sock *s; read_lock(&l2cap_sk_list.lock); Loading Loading @@ -586,7 +586,7 @@ static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_ goto done; } if (la->l2_psm > 0 && btohs(la->l2_psm) < 0x1001 && if (la->l2_psm && btohs(la->l2_psm) < 0x1001 && !capable(CAP_NET_BIND_SERVICE)) { err = -EACCES; goto done; Loading Loading @@ -873,7 +873,7 @@ static inline int l2cap_do_send(struct sock *sk, struct msghdr *msg, int len) lh->len = cpu_to_le16(len + (hlen - L2CAP_HDR_SIZE)); if (sk->sk_type == SOCK_DGRAM) put_unaligned(l2cap_pi(sk)->psm, (u16 *) skb_put(skb, 2)); put_unaligned(l2cap_pi(sk)->psm, (__le16 *) skb_put(skb, 2)); if (memcpy_fromiovec(skb_put(skb, count), msg->msg_iov, count)) { err = -EFAULT; Loading Loading @@ -1256,11 +1256,11 @@ static inline int l2cap_get_conf_opt(void **ptr, int *type, int *olen, unsigned break; case 2: *val = __le16_to_cpu(*((u16 *)opt->val)); *val = __le16_to_cpu(*((__le16 *)opt->val)); break; case 4: *val = __le32_to_cpu(*((u32 *)opt->val)); *val = __le32_to_cpu(*((__le32 *)opt->val)); break; default: Loading @@ -1287,11 +1287,11 @@ static void l2cap_add_conf_opt(void **ptr, u8 type, u8 len, unsigned long val) break; case 2: *((u16 *) opt->val) = cpu_to_le16(val); *((__le16 *) opt->val) = cpu_to_le16(val); break; case 4: *((u32 *) opt->val) = cpu_to_le32(val); *((__le32 *) opt->val) = cpu_to_le32(val); break; default: Loading Loading @@ -1406,7 +1406,7 @@ static inline int l2cap_connect_req(struct l2cap_conn *conn, struct l2cap_cmd_hd int result = 0, status = 0; u16 dcid = 0, scid = __le16_to_cpu(req->scid); u16 psm = req->psm; __le16 psm = req->psm; BT_DBG("psm 0x%2.2x scid 0x%4.4x", psm, scid); Loading Loading @@ -1863,7 +1863,7 @@ static inline int l2cap_data_channel(struct l2cap_conn *conn, u16 cid, struct sk return 0; } static inline int l2cap_conless_channel(struct l2cap_conn *conn, u16 psm, struct sk_buff *skb) static inline int l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm, struct sk_buff *skb) { struct sock *sk; Loading Loading @@ -1893,7 +1893,8 @@ static inline int l2cap_conless_channel(struct l2cap_conn *conn, u16 psm, struct static void l2cap_recv_frame(struct l2cap_conn *conn, struct sk_buff *skb) { struct l2cap_hdr *lh = (void *) skb->data; u16 cid, psm, len; u16 cid, len; __le16 psm; skb_pull(skb, L2CAP_HDR_SIZE); cid = __le16_to_cpu(lh->cid); Loading @@ -1907,7 +1908,7 @@ static void l2cap_recv_frame(struct l2cap_conn *conn, struct sk_buff *skb) break; case 0x0002: psm = get_unaligned((u16 *) skb->data); psm = get_unaligned((__le16 *) skb->data); skb_pull(skb, 2); l2cap_conless_channel(conn, psm, skb); break; Loading Loading
include/net/bluetooth/l2cap.h +25 −25 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ /* L2CAP socket address */ struct sockaddr_l2 { sa_family_t l2_family; unsigned short l2_psm; __le16 l2_psm; bdaddr_t l2_bdaddr; }; Loading Loading @@ -76,32 +76,32 @@ struct l2cap_conninfo { /* L2CAP structures */ struct l2cap_hdr { __u16 len; __u16 cid; __le16 len; __le16 cid; } __attribute__ ((packed)); #define L2CAP_HDR_SIZE 4 struct l2cap_cmd_hdr { __u8 code; __u8 ident; __u16 len; __le16 len; } __attribute__ ((packed)); #define L2CAP_CMD_HDR_SIZE 4 struct l2cap_cmd_rej { __u16 reason; __le16 reason; } __attribute__ ((packed)); struct l2cap_conn_req { __u16 psm; __u16 scid; __le16 psm; __le16 scid; } __attribute__ ((packed)); struct l2cap_conn_rsp { __u16 dcid; __u16 scid; __u16 result; __u16 status; __le16 dcid; __le16 scid; __le16 result; __le16 status; } __attribute__ ((packed)); /* connect result */ Loading @@ -117,15 +117,15 @@ struct l2cap_conn_rsp { #define L2CAP_CS_AUTHOR_PEND 0x0002 struct l2cap_conf_req { __u16 dcid; __u16 flags; __le16 dcid; __le16 flags; __u8 data[0]; } __attribute__ ((packed)); struct l2cap_conf_rsp { __u16 scid; __u16 flags; __u16 result; __le16 scid; __le16 flags; __le16 result; __u8 data[0]; } __attribute__ ((packed)); Loading @@ -149,23 +149,23 @@ struct l2cap_conf_opt { #define L2CAP_CONF_MAX_SIZE 22 struct l2cap_disconn_req { __u16 dcid; __u16 scid; __le16 dcid; __le16 scid; } __attribute__ ((packed)); struct l2cap_disconn_rsp { __u16 dcid; __u16 scid; __le16 dcid; __le16 scid; } __attribute__ ((packed)); struct l2cap_info_req { __u16 type; __le16 type; __u8 data[0]; } __attribute__ ((packed)); struct l2cap_info_rsp { __u16 type; __u16 result; __le16 type; __le16 result; __u8 data[0]; } __attribute__ ((packed)); Loading Loading @@ -207,7 +207,7 @@ struct l2cap_conn { struct l2cap_pinfo { struct bt_sock bt; __u16 psm; __le16 psm; __u16 dcid; __u16 scid; Loading @@ -225,7 +225,7 @@ struct l2cap_pinfo { __u8 ident; __u16 sport; __le16 sport; struct l2cap_conn *conn; struct sock *next_c; Loading
net/bluetooth/l2cap.c +14 −13 Original line number Diff line number Diff line Loading @@ -353,7 +353,7 @@ static inline int l2cap_send_cmd(struct l2cap_conn *conn, u8 ident, u8 code, u16 } /* ---- Socket interface ---- */ static struct sock *__l2cap_get_sock_by_addr(u16 psm, bdaddr_t *src) static struct sock *__l2cap_get_sock_by_addr(__le16 psm, bdaddr_t *src) { struct sock *sk; struct hlist_node *node; Loading @@ -368,7 +368,7 @@ static struct sock *__l2cap_get_sock_by_addr(u16 psm, bdaddr_t *src) /* Find socket with psm and source bdaddr. * Returns closest match. */ static struct sock *__l2cap_get_sock_by_psm(int state, u16 psm, bdaddr_t *src) static struct sock *__l2cap_get_sock_by_psm(int state, __le16 psm, bdaddr_t *src) { struct sock *sk = NULL, *sk1 = NULL; struct hlist_node *node; Loading @@ -392,7 +392,7 @@ static struct sock *__l2cap_get_sock_by_psm(int state, u16 psm, bdaddr_t *src) /* Find socket with given address (psm, src). * Returns locked socket */ static inline struct sock *l2cap_get_sock_by_psm(int state, u16 psm, bdaddr_t *src) static inline struct sock *l2cap_get_sock_by_psm(int state, __le16 psm, bdaddr_t *src) { struct sock *s; read_lock(&l2cap_sk_list.lock); Loading Loading @@ -586,7 +586,7 @@ static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_ goto done; } if (la->l2_psm > 0 && btohs(la->l2_psm) < 0x1001 && if (la->l2_psm && btohs(la->l2_psm) < 0x1001 && !capable(CAP_NET_BIND_SERVICE)) { err = -EACCES; goto done; Loading Loading @@ -873,7 +873,7 @@ static inline int l2cap_do_send(struct sock *sk, struct msghdr *msg, int len) lh->len = cpu_to_le16(len + (hlen - L2CAP_HDR_SIZE)); if (sk->sk_type == SOCK_DGRAM) put_unaligned(l2cap_pi(sk)->psm, (u16 *) skb_put(skb, 2)); put_unaligned(l2cap_pi(sk)->psm, (__le16 *) skb_put(skb, 2)); if (memcpy_fromiovec(skb_put(skb, count), msg->msg_iov, count)) { err = -EFAULT; Loading Loading @@ -1256,11 +1256,11 @@ static inline int l2cap_get_conf_opt(void **ptr, int *type, int *olen, unsigned break; case 2: *val = __le16_to_cpu(*((u16 *)opt->val)); *val = __le16_to_cpu(*((__le16 *)opt->val)); break; case 4: *val = __le32_to_cpu(*((u32 *)opt->val)); *val = __le32_to_cpu(*((__le32 *)opt->val)); break; default: Loading @@ -1287,11 +1287,11 @@ static void l2cap_add_conf_opt(void **ptr, u8 type, u8 len, unsigned long val) break; case 2: *((u16 *) opt->val) = cpu_to_le16(val); *((__le16 *) opt->val) = cpu_to_le16(val); break; case 4: *((u32 *) opt->val) = cpu_to_le32(val); *((__le32 *) opt->val) = cpu_to_le32(val); break; default: Loading Loading @@ -1406,7 +1406,7 @@ static inline int l2cap_connect_req(struct l2cap_conn *conn, struct l2cap_cmd_hd int result = 0, status = 0; u16 dcid = 0, scid = __le16_to_cpu(req->scid); u16 psm = req->psm; __le16 psm = req->psm; BT_DBG("psm 0x%2.2x scid 0x%4.4x", psm, scid); Loading Loading @@ -1863,7 +1863,7 @@ static inline int l2cap_data_channel(struct l2cap_conn *conn, u16 cid, struct sk return 0; } static inline int l2cap_conless_channel(struct l2cap_conn *conn, u16 psm, struct sk_buff *skb) static inline int l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm, struct sk_buff *skb) { struct sock *sk; Loading Loading @@ -1893,7 +1893,8 @@ static inline int l2cap_conless_channel(struct l2cap_conn *conn, u16 psm, struct static void l2cap_recv_frame(struct l2cap_conn *conn, struct sk_buff *skb) { struct l2cap_hdr *lh = (void *) skb->data; u16 cid, psm, len; u16 cid, len; __le16 psm; skb_pull(skb, L2CAP_HDR_SIZE); cid = __le16_to_cpu(lh->cid); Loading @@ -1907,7 +1908,7 @@ static void l2cap_recv_frame(struct l2cap_conn *conn, struct sk_buff *skb) break; case 0x0002: psm = get_unaligned((u16 *) skb->data); psm = get_unaligned((__le16 *) skb->data); skb_pull(skb, 2); l2cap_conless_channel(conn, psm, skb); break; Loading