git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bluetooth: Change signature of smp_conn_security()
[pandora-kernel.git]
/
net
/
bluetooth
/
l2cap_core.c
diff --git
a/net/bluetooth/l2cap_core.c
b/net/bluetooth/l2cap_core.c
index
17b5b1c
..
04175d9
100644
(file)
--- a/
net/bluetooth/l2cap_core.c
+++ b/
net/bluetooth/l2cap_core.c
@@
-862,6
+862,7
@@
static void l2cap_le_conn_ready(struct l2cap_conn *conn)
write_lock_bh(&conn->chan_lock);
hci_conn_hold(conn->hcon);
write_lock_bh(&conn->chan_lock);
hci_conn_hold(conn->hcon);
+ conn->hcon->disc_timeout = HCI_DISCONN_TIMEOUT;
bacpy(&bt_sk(sk)->src, conn->src);
bacpy(&bt_sk(sk)->dst, conn->dst);
bacpy(&bt_sk(sk)->src, conn->src);
bacpy(&bt_sk(sk)->dst, conn->dst);
@@
-901,14
+902,15
@@
static void l2cap_chan_ready(struct sock *sk)
static void l2cap_conn_ready(struct l2cap_conn *conn)
{
struct l2cap_chan *chan;
static void l2cap_conn_ready(struct l2cap_conn *conn)
{
struct l2cap_chan *chan;
+ struct hci_conn *hcon = conn->hcon;
BT_DBG("conn %p", conn);
BT_DBG("conn %p", conn);
- if (!
conn->hcon->out && conn->
hcon->type == LE_LINK)
+ if (!
hcon->out &&
hcon->type == LE_LINK)
l2cap_le_conn_ready(conn);
l2cap_le_conn_ready(conn);
- if (
conn->hcon->out && conn->
hcon->type == LE_LINK)
- smp_conn_security(
conn, conn->
hcon->pending_sec_level);
+ if (
hcon->out &&
hcon->type == LE_LINK)
+ smp_conn_security(
hcon,
hcon->pending_sec_level);
read_lock(&conn->chan_lock);
read_lock(&conn->chan_lock);
@@
-917,8
+919,8
@@
static void l2cap_conn_ready(struct l2cap_conn *conn)
bh_lock_sock(sk);
bh_lock_sock(sk);
- if (
conn->
hcon->type == LE_LINK) {
- if (smp_conn_security(
con
n, chan->sec_level))
+ if (hcon->type == LE_LINK) {
+ if (smp_conn_security(
hco
n, chan->sec_level))
l2cap_chan_ready(sk);
} else if (chan->chan_type != L2CAP_CHAN_CONN_ORIENTED) {
l2cap_chan_ready(sk);
} else if (chan->chan_type != L2CAP_CHAN_CONN_ORIENTED) {
@@
-2263,12
+2265,14
@@
static void l2cap_conf_rfc_get(struct l2cap_chan *chan, void *rsp, int len)
while (len >= L2CAP_CONF_OPT_SIZE) {
len -= l2cap_get_conf_opt(&rsp, &type, &olen, &val);
while (len >= L2CAP_CONF_OPT_SIZE) {
len -= l2cap_get_conf_opt(&rsp, &type, &olen, &val);
- switch (type) {
- case L2CAP_CONF_RFC:
- if (olen == sizeof(rfc))
- memcpy(&rfc, (void *)val, olen);
- goto done;
- }
+ if (type != L2CAP_CONF_RFC)
+ continue;
+
+ if (olen != sizeof(rfc))
+ break;
+
+ memcpy(&rfc, (void *)val, olen);
+ goto done;
}
/* Use sane default values in case a misbehaving remote device
}
/* Use sane default values in case a misbehaving remote device