提交 09aa356b 编写于 作者: M Mathieu Segaud 提交者: Dave Airlie

agp: convert drivers/char/agp/frontend.c to use unlocked_ioctl

As of now, agp_compat_ioctl already runs without the BKL.  Mutual exclusion
is enforced by agp_fe.agp_mutex in agp_ioctl() and agp_compat_ioctl().
Apply the same locking rationale to the two functions allowing BKL cleanup.
Signed-off-by: NMathieu Segaud <mathieu.segaud@regala.cx>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NDave Airlie <airlied@linux.ie>
上级 4ab92bcf
...@@ -967,7 +967,7 @@ int agpioc_chipset_flush_wrap(struct agp_file_private *priv) ...@@ -967,7 +967,7 @@ int agpioc_chipset_flush_wrap(struct agp_file_private *priv)
return 0; return 0;
} }
static int agp_ioctl(struct inode *inode, struct file *file, static long agp_ioctl(struct file *file,
unsigned int cmd, unsigned long arg) unsigned int cmd, unsigned long arg)
{ {
struct agp_file_private *curr_priv = file->private_data; struct agp_file_private *curr_priv = file->private_data;
...@@ -1058,7 +1058,7 @@ static const struct file_operations agp_fops = ...@@ -1058,7 +1058,7 @@ static const struct file_operations agp_fops =
.llseek = no_llseek, .llseek = no_llseek,
.read = agp_read, .read = agp_read,
.write = agp_write, .write = agp_write,
.ioctl = agp_ioctl, .unlocked_ioctl = agp_ioctl,
#ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT
.compat_ioctl = compat_agp_ioctl, .compat_ioctl = compat_agp_ioctl,
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册