#define BT_DBG(D...)
#endif
-#define VERSION "2.3"
+#define VERSION "2.4"
static struct proto_ops l2cap_sock_ops;
BT_DBG("dcid 0x%4.4x scid 0x%4.4x result 0x%2.2x status 0x%2.2x", dcid, scid, result, status);
if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid)))
- return -ENOENT;
+ return 0;
switch (result) {
case L2CAP_CR_SUCCESS:
struct l2cap_conf_rsp *rsp = (struct l2cap_conf_rsp *)data;
u16 scid, flags, result;
struct sock *sk;
- int err = 0;
scid = __le16_to_cpu(rsp->scid);
flags = __le16_to_cpu(rsp->flags);
BT_DBG("scid 0x%4.4x flags 0x%2.2x result 0x%2.2x", scid, flags, result);
if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid)))
- return -ENOENT;
+ return 0;
switch (result) {
case L2CAP_CONF_SUCCESS:
done:
bh_unlock_sock(sk);
- return err;
+ return 0;
}
static inline int l2cap_disconnect_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data)
if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid)))
return 0;
+
l2cap_chan_del(sk, 0);
bh_unlock_sock(sk);
return 0;
}
-static inline int l2cap_info_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data)
+static inline int l2cap_information_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data)
{
struct l2cap_info_req *req = (struct l2cap_info_req *) data;
struct l2cap_info_rsp rsp;
rsp.type = __cpu_to_le16(type);
rsp.result = __cpu_to_le16(L2CAP_IR_NOTSUPP);
l2cap_send_rsp(conn, cmd->ident, L2CAP_INFO_RSP, sizeof(rsp), &rsp);
+
return 0;
}
-static inline int l2cap_info_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data)
+static inline int l2cap_information_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data)
{
struct l2cap_info_rsp *rsp = (struct l2cap_info_rsp *) data;
u16 type, result;
break;
case L2CAP_INFO_REQ:
- err = l2cap_info_req(conn, &cmd, data);
+ err = l2cap_information_req(conn, &cmd, data);
break;
case L2CAP_INFO_RSP:
- err = l2cap_info_rsp(conn, &cmd, data);
+ err = l2cap_information_rsp(conn, &cmd, data);
break;
default: