Commit a0762301 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Jonathan Corbet

agp-frontend: BKL pushdown

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 8f593427
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/smp_lock.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include "agp.h" #include "agp.h"
...@@ -677,6 +678,7 @@ static int agp_open(struct inode *inode, struct file *file) ...@@ -677,6 +678,7 @@ static int agp_open(struct inode *inode, struct file *file)
struct agp_client *client; struct agp_client *client;
int rc = -ENXIO; int rc = -ENXIO;
lock_kernel();
mutex_lock(&(agp_fe.agp_mutex)); mutex_lock(&(agp_fe.agp_mutex));
if (minor != AGPGART_MINOR) if (minor != AGPGART_MINOR)
...@@ -703,12 +705,14 @@ static int agp_open(struct inode *inode, struct file *file) ...@@ -703,12 +705,14 @@ static int agp_open(struct inode *inode, struct file *file)
agp_insert_file_private(priv); agp_insert_file_private(priv);
DBG("private=%p, client=%p", priv, client); DBG("private=%p, client=%p", priv, client);
mutex_unlock(&(agp_fe.agp_mutex)); mutex_unlock(&(agp_fe.agp_mutex));
unlock_kernel();
return 0; return 0;
err_out_nomem: err_out_nomem:
rc = -ENOMEM; rc = -ENOMEM;
err_out: err_out:
mutex_unlock(&(agp_fe.agp_mutex)); mutex_unlock(&(agp_fe.agp_mutex));
unlock_kernel();
return rc; return rc;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment