|
@@ -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;
|
|
@@ -368,7 +368,7 @@ found:
|
|
|
/* 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;
|
|
@@ -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);
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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:
|
|
@@ -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:
|
|
@@ -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);
|
|
|
|
|
@@ -1863,7 +1863,7 @@ done:
|
|
|
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;
|
|
|
|
|
@@ -1893,7 +1893,8 @@ done:
|
|
|
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);
|
|
@@ -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;
|