Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
78a3c3d7
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
78a3c3d7
编写于
5月 15, 2008
作者:
J
Jonathan Corbet
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sound: cdev lock_kernel() pushdown
Signed-off-by:
N
Jonathan Corbet
<
corbet@lwn.net
>
上级
fc7f687a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
1 deletion
+19
-1
sound/core/sound.c
sound/core/sound.c
+14
-1
sound/sound_core.c
sound/sound_core.c
+5
-0
未找到文件。
sound/core/sound.c
浏览文件 @
78a3c3d7
...
...
@@ -21,6 +21,7 @@
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/smp_lock.h>
#include <linux/time.h>
#include <linux/device.h>
#include <linux/moduleparam.h>
...
...
@@ -121,7 +122,7 @@ void *snd_lookup_minor_data(unsigned int minor, int type)
EXPORT_SYMBOL
(
snd_lookup_minor_data
);
static
int
snd_open
(
struct
inode
*
inode
,
struct
file
*
file
)
static
int
__
snd_open
(
struct
inode
*
inode
,
struct
file
*
file
)
{
unsigned
int
minor
=
iminor
(
inode
);
struct
snd_minor
*
mptr
=
NULL
;
...
...
@@ -163,6 +164,18 @@ static int snd_open(struct inode *inode, struct file *file)
return
err
;
}
/* BKL pushdown: nasty #ifdef avoidance wrapper */
static
int
snd_open
(
struct
inode
*
inode
,
struct
file
*
file
)
{
int
ret
;
lock_kernel
();
ret
=
__snd_open
(
inode
,
file
);
unlock_kernel
();
return
ret
;
}
static
const
struct
file_operations
snd_fops
=
{
.
owner
=
THIS_MODULE
,
...
...
sound/sound_core.c
浏览文件 @
78a3c3d7
...
...
@@ -37,6 +37,7 @@
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/smp_lock.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/fs.h>
...
...
@@ -464,6 +465,8 @@ int soundcore_open(struct inode *inode, struct file *file)
struct
sound_unit
*
s
;
const
struct
file_operations
*
new_fops
=
NULL
;
lock_kernel
();
chain
=
unit
&
0x0F
;
if
(
chain
==
4
||
chain
==
5
)
/* dsp/audio/dsp16 */
{
...
...
@@ -511,9 +514,11 @@ int soundcore_open(struct inode *inode, struct file *file)
file
->
f_op
=
fops_get
(
old_fops
);
}
fops_put
(
old_fops
);
unlock_kernel
();
return
err
;
}
spin_unlock
(
&
sound_loader_lock
);
unlock_kernel
();
return
-
ENODEV
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录