diff options
Diffstat (limited to 'net/bluetooth/l2cap.c')
-rw-r--r-- | net/bluetooth/l2cap.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index 80d929842f04..54992f782301 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c | |||
@@ -1362,8 +1362,8 @@ static int l2cap_ertm_send(struct sock *sk) | |||
1362 | if (pi->conn_state & L2CAP_CONN_WAIT_F) | 1362 | if (pi->conn_state & L2CAP_CONN_WAIT_F) |
1363 | return 0; | 1363 | return 0; |
1364 | 1364 | ||
1365 | while ((skb = sk->sk_send_head) && (!l2cap_tx_window_full(sk)) | 1365 | while ((skb = sk->sk_send_head) && (!l2cap_tx_window_full(sk)) && |
1366 | && !(pi->conn_state & L2CAP_CONN_REMOTE_BUSY)) { | 1366 | !(pi->conn_state & L2CAP_CONN_REMOTE_BUSY)) { |
1367 | tx_skb = skb_clone(skb, GFP_ATOMIC); | 1367 | tx_skb = skb_clone(skb, GFP_ATOMIC); |
1368 | 1368 | ||
1369 | if (pi->remote_max_tx && | 1369 | if (pi->remote_max_tx && |
@@ -1604,8 +1604,8 @@ static int l2cap_sock_sendmsg(struct kiocb *iocb, struct socket *sock, struct ms | |||
1604 | return -EOPNOTSUPP; | 1604 | return -EOPNOTSUPP; |
1605 | 1605 | ||
1606 | /* Check outgoing MTU */ | 1606 | /* Check outgoing MTU */ |
1607 | if (sk->sk_type == SOCK_SEQPACKET && pi->mode == L2CAP_MODE_BASIC | 1607 | if (sk->sk_type == SOCK_SEQPACKET && pi->mode == L2CAP_MODE_BASIC && |
1608 | && len > pi->omtu) | 1608 | len > pi->omtu) |
1609 | return -EINVAL; | 1609 | return -EINVAL; |
1610 | 1610 | ||
1611 | lock_sock(sk); | 1611 | lock_sock(sk); |
@@ -2756,8 +2756,8 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr | |||
2756 | goto unlock; | 2756 | goto unlock; |
2757 | 2757 | ||
2758 | if (l2cap_pi(sk)->conf_state & L2CAP_CONF_INPUT_DONE) { | 2758 | if (l2cap_pi(sk)->conf_state & L2CAP_CONF_INPUT_DONE) { |
2759 | if (!(l2cap_pi(sk)->conf_state & L2CAP_CONF_NO_FCS_RECV) | 2759 | if (!(l2cap_pi(sk)->conf_state & L2CAP_CONF_NO_FCS_RECV) || |
2760 | || l2cap_pi(sk)->fcs != L2CAP_FCS_NONE) | 2760 | l2cap_pi(sk)->fcs != L2CAP_FCS_NONE) |
2761 | l2cap_pi(sk)->fcs = L2CAP_FCS_CRC16; | 2761 | l2cap_pi(sk)->fcs = L2CAP_FCS_CRC16; |
2762 | 2762 | ||
2763 | sk->sk_state = BT_CONNECTED; | 2763 | sk->sk_state = BT_CONNECTED; |
@@ -2845,8 +2845,8 @@ static inline int l2cap_config_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr | |||
2845 | l2cap_pi(sk)->conf_state |= L2CAP_CONF_INPUT_DONE; | 2845 | l2cap_pi(sk)->conf_state |= L2CAP_CONF_INPUT_DONE; |
2846 | 2846 | ||
2847 | if (l2cap_pi(sk)->conf_state & L2CAP_CONF_OUTPUT_DONE) { | 2847 | if (l2cap_pi(sk)->conf_state & L2CAP_CONF_OUTPUT_DONE) { |
2848 | if (!(l2cap_pi(sk)->conf_state & L2CAP_CONF_NO_FCS_RECV) | 2848 | if (!(l2cap_pi(sk)->conf_state & L2CAP_CONF_NO_FCS_RECV) || |
2849 | || l2cap_pi(sk)->fcs != L2CAP_FCS_NONE) | 2849 | l2cap_pi(sk)->fcs != L2CAP_FCS_NONE) |
2850 | l2cap_pi(sk)->fcs = L2CAP_FCS_CRC16; | 2850 | l2cap_pi(sk)->fcs = L2CAP_FCS_CRC16; |
2851 | 2851 | ||
2852 | sk->sk_state = BT_CONNECTED; | 2852 | sk->sk_state = BT_CONNECTED; |
@@ -3388,8 +3388,8 @@ static inline int l2cap_data_channel_sframe(struct sock *sk, u16 rx_control, str | |||
3388 | pi->expected_ack_seq = tx_seq; | 3388 | pi->expected_ack_seq = tx_seq; |
3389 | l2cap_drop_acked_frames(sk); | 3389 | l2cap_drop_acked_frames(sk); |
3390 | 3390 | ||
3391 | if ((pi->conn_state & L2CAP_CONN_REMOTE_BUSY) | 3391 | if ((pi->conn_state & L2CAP_CONN_REMOTE_BUSY) && |
3392 | && (pi->unacked_frames > 0)) | 3392 | (pi->unacked_frames > 0)) |
3393 | __mod_retrans_timer(); | 3393 | __mod_retrans_timer(); |
3394 | 3394 | ||
3395 | l2cap_ertm_send(sk); | 3395 | l2cap_ertm_send(sk); |