Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
f2529c2c
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f2529c2c
编写于
7月 05, 2011
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-2.6
上级
a0b8de35
163f4dab
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
18 addition
and
9 deletion
+18
-9
net/bluetooth/hci_conn.c
net/bluetooth/hci_conn.c
+3
-0
net/bluetooth/hidp/core.c
net/bluetooth/hidp/core.c
+11
-7
net/bluetooth/hidp/hidp.h
net/bluetooth/hidp/hidp.h
+1
-0
net/bluetooth/l2cap_core.c
net/bluetooth/l2cap_core.c
+3
-2
未找到文件。
net/bluetooth/hci_conn.c
浏览文件 @
f2529c2c
...
...
@@ -393,6 +393,9 @@ int hci_conn_del(struct hci_conn *conn)
hci_dev_put
(
hdev
);
if
(
conn
->
handle
==
0
)
kfree
(
conn
);
return
0
;
}
...
...
net/bluetooth/hidp/core.c
浏览文件 @
f2529c2c
...
...
@@ -464,7 +464,8 @@ static void hidp_idle_timeout(unsigned long arg)
{
struct
hidp_session
*
session
=
(
struct
hidp_session
*
)
arg
;
kthread_stop
(
session
->
task
);
atomic_inc
(
&
session
->
terminate
);
wake_up_process
(
session
->
task
);
}
static
void
hidp_set_timer
(
struct
hidp_session
*
session
)
...
...
@@ -535,7 +536,8 @@ static void hidp_process_hid_control(struct hidp_session *session,
skb_queue_purge
(
&
session
->
ctrl_transmit
);
skb_queue_purge
(
&
session
->
intr_transmit
);
kthread_stop
(
session
->
task
);
atomic_inc
(
&
session
->
terminate
);
wake_up_process
(
current
);
}
}
...
...
@@ -706,9 +708,8 @@ static int hidp_session(void *arg)
add_wait_queue
(
sk_sleep
(
intr_sk
),
&
intr_wait
);
session
->
waiting_for_startup
=
0
;
wake_up_interruptible
(
&
session
->
startup_queue
);
while
(
!
kthread_should_stop
())
{
set_current_state
(
TASK_INTERRUPTIBLE
);
set_current_state
(
TASK_INTERRUPTIBLE
);
while
(
!
atomic_read
(
&
session
->
terminate
))
{
if
(
ctrl_sk
->
sk_state
!=
BT_CONNECTED
||
intr_sk
->
sk_state
!=
BT_CONNECTED
)
break
;
...
...
@@ -726,6 +727,7 @@ static int hidp_session(void *arg)
hidp_process_transmit
(
session
);
schedule
();
set_current_state
(
TASK_INTERRUPTIBLE
);
}
set_current_state
(
TASK_RUNNING
);
remove_wait_queue
(
sk_sleep
(
intr_sk
),
&
intr_wait
);
...
...
@@ -1060,7 +1062,8 @@ int hidp_add_connection(struct hidp_connadd_req *req, struct socket *ctrl_sock,
err_add_device:
hid_destroy_device
(
session
->
hid
);
session
->
hid
=
NULL
;
kthread_stop
(
session
->
task
);
atomic_inc
(
&
session
->
terminate
);
wake_up_process
(
session
->
task
);
unlink:
hidp_del_timer
(
session
);
...
...
@@ -1111,7 +1114,8 @@ int hidp_del_connection(struct hidp_conndel_req *req)
skb_queue_purge
(
&
session
->
ctrl_transmit
);
skb_queue_purge
(
&
session
->
intr_transmit
);
kthread_stop
(
session
->
task
);
atomic_inc
(
&
session
->
terminate
);
wake_up_process
(
session
->
task
);
}
}
else
err
=
-
ENOENT
;
...
...
net/bluetooth/hidp/hidp.h
浏览文件 @
f2529c2c
...
...
@@ -142,6 +142,7 @@ struct hidp_session {
uint
ctrl_mtu
;
uint
intr_mtu
;
atomic_t
terminate
;
struct
task_struct
*
task
;
unsigned
char
keys
[
8
];
...
...
net/bluetooth/l2cap_core.c
浏览文件 @
f2529c2c
...
...
@@ -2323,7 +2323,8 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr
sk
=
chan
->
sk
;
if
(
sk
->
sk_state
!=
BT_CONFIG
)
{
if
((
bt_sk
(
sk
)
->
defer_setup
&&
sk
->
sk_state
!=
BT_CONNECT2
)
||
(
!
bt_sk
(
sk
)
->
defer_setup
&&
sk
->
sk_state
!=
BT_CONFIG
))
{
struct
l2cap_cmd_rej
rej
;
rej
.
reason
=
cpu_to_le16
(
0x0002
);
...
...
@@ -2334,7 +2335,7 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr
/* Reject if config buffer is too small. */
len
=
cmd_len
-
sizeof
(
*
req
);
if
(
chan
->
conf_len
+
len
>
sizeof
(
chan
->
conf_req
))
{
if
(
len
<
0
||
chan
->
conf_len
+
len
>
sizeof
(
chan
->
conf_req
))
{
l2cap_send_cmd
(
conn
,
cmd
->
ident
,
L2CAP_CONF_RSP
,
l2cap_build_conf_rsp
(
chan
,
rsp
,
L2CAP_CONF_REJECT
,
flags
),
rsp
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录