--- zzzz-none-000/linux-2.6.19.2/net/bluetooth/l2cap.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/net/bluetooth/l2cap.c 2007-01-11 07:38:19.000000000 +0000 @@ -1353,12 +1353,12 @@ /* Configure output options and let the other side know * which ones we don't like. */ - if (pi->conf_mtu < pi->omtu) + if (pi->conf_mtu < pi->omtu) { + l2cap_add_conf_opt(ptr, L2CAP_CONF_MTU, 2, pi->omtu); result = L2CAP_CONF_UNACCEPT; - else + } else { pi->omtu = pi->conf_mtu; - - l2cap_add_conf_opt(ptr, L2CAP_CONF_MTU, 2, pi->omtu); + } BT_DBG("sk %p result %d", sk, result); return result; @@ -1533,9 +1533,6 @@ if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, dcid))) return -ENOENT; - if (sk->sk_state == BT_DISCONN) - goto unlock; - l2cap_parse_conf_req(sk, req->data, cmd->len - sizeof(*req)); if (flags & 0x0001) {