Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
40fad6ba
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
40fad6ba
编写于
6月 20, 2011
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-2.6
上级
3373b28e
33060542
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
18 addition
and
9 deletion
+18
-9
net/bluetooth/hci_conn.c
net/bluetooth/hci_conn.c
+3
-3
net/bluetooth/l2cap_core.c
net/bluetooth/l2cap_core.c
+15
-6
未找到文件。
net/bluetooth/hci_conn.c
浏览文件 @
40fad6ba
...
@@ -608,10 +608,10 @@ int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type)
...
@@ -608,10 +608,10 @@ int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type)
goto
encrypt
;
goto
encrypt
;
auth:
auth:
if
(
test_
and_set_
bit
(
HCI_CONN_ENCRYPT_PEND
,
&
conn
->
pend
))
if
(
test_bit
(
HCI_CONN_ENCRYPT_PEND
,
&
conn
->
pend
))
return
0
;
return
0
;
hci_conn_auth
(
conn
,
sec_level
,
auth_type
);
if
(
!
hci_conn_auth
(
conn
,
sec_level
,
auth_type
))
return
0
;
return
0
;
encrypt:
encrypt:
...
...
net/bluetooth/l2cap_core.c
浏览文件 @
40fad6ba
...
@@ -4002,21 +4002,30 @@ static int l2cap_security_cfm(struct hci_conn *hcon, u8 status, u8 encrypt)
...
@@ -4002,21 +4002,30 @@ static int l2cap_security_cfm(struct hci_conn *hcon, u8 status, u8 encrypt)
}
}
}
else
if
(
sk
->
sk_state
==
BT_CONNECT2
)
{
}
else
if
(
sk
->
sk_state
==
BT_CONNECT2
)
{
struct
l2cap_conn_rsp
rsp
;
struct
l2cap_conn_rsp
rsp
;
__u16
res
ul
t
;
__u16
res
,
sta
t
;
if
(
!
status
)
{
if
(
!
status
)
{
if
(
bt_sk
(
sk
)
->
defer_setup
)
{
struct
sock
*
parent
=
bt_sk
(
sk
)
->
parent
;
res
=
L2CAP_CR_PEND
;
stat
=
L2CAP_CS_AUTHOR_PEND
;
parent
->
sk_data_ready
(
parent
,
0
);
}
else
{
sk
->
sk_state
=
BT_CONFIG
;
sk
->
sk_state
=
BT_CONFIG
;
result
=
L2CAP_CR_SUCCESS
;
res
=
L2CAP_CR_SUCCESS
;
stat
=
L2CAP_CS_NO_INFO
;
}
}
else
{
}
else
{
sk
->
sk_state
=
BT_DISCONN
;
sk
->
sk_state
=
BT_DISCONN
;
l2cap_sock_set_timer
(
sk
,
HZ
/
10
);
l2cap_sock_set_timer
(
sk
,
HZ
/
10
);
result
=
L2CAP_CR_SEC_BLOCK
;
res
=
L2CAP_CR_SEC_BLOCK
;
stat
=
L2CAP_CS_NO_INFO
;
}
}
rsp
.
scid
=
cpu_to_le16
(
chan
->
dcid
);
rsp
.
scid
=
cpu_to_le16
(
chan
->
dcid
);
rsp
.
dcid
=
cpu_to_le16
(
chan
->
scid
);
rsp
.
dcid
=
cpu_to_le16
(
chan
->
scid
);
rsp
.
result
=
cpu_to_le16
(
res
ult
);
rsp
.
result
=
cpu_to_le16
(
res
);
rsp
.
status
=
cpu_to_le16
(
L2CAP_CS_NO_INFO
);
rsp
.
status
=
cpu_to_le16
(
stat
);
l2cap_send_cmd
(
conn
,
chan
->
ident
,
L2CAP_CONN_RSP
,
l2cap_send_cmd
(
conn
,
chan
->
ident
,
L2CAP_CONN_RSP
,
sizeof
(
rsp
),
&
rsp
);
sizeof
(
rsp
),
&
rsp
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录