diff options
author | Arnd Bergmann <arnd@arndb.de> | 2008-05-20 19:16:58 +0200 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2008-07-02 15:06:26 -0600 |
commit | ffe83733b88655b643e9d4ad0dda5ef9584d5926 (patch) | |
tree | efe448ad02a2f2fb5f91af279842f71288b39c80 /drivers/macintosh | |
parent | 7eb500d1a0408c37d0c0360f066f8b7701835d68 (diff) | |
download | op-kernel-dev-ffe83733b88655b643e9d4ad0dda5ef9584d5926.zip op-kernel-dev-ffe83733b88655b643e9d4ad0dda5ef9584d5926.tar.gz |
via-pmu: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'drivers/macintosh')
-rw-r--r-- | drivers/macintosh/via-pmu.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/macintosh/via-pmu.c b/drivers/macintosh/via-pmu.c index d6365a9..d524dc2 100644 --- a/drivers/macintosh/via-pmu.c +++ b/drivers/macintosh/via-pmu.c @@ -18,6 +18,7 @@ * */ #include <stdarg.h> +#include <linux/smp_lock.h> #include <linux/types.h> #include <linux/errno.h> #include <linux/kernel.h> @@ -2047,6 +2048,7 @@ pmu_open(struct inode *inode, struct file *file) pp->rb_get = pp->rb_put = 0; spin_lock_init(&pp->lock); init_waitqueue_head(&pp->wait); + lock_kernel(); spin_lock_irqsave(&all_pvt_lock, flags); #if defined(CONFIG_INPUT_ADBHID) && defined(CONFIG_PMAC_BACKLIGHT) pp->backlight_locker = 0; @@ -2054,6 +2056,7 @@ pmu_open(struct inode *inode, struct file *file) list_add(&pp->list, &all_pmu_pvt); spin_unlock_irqrestore(&all_pvt_lock, flags); file->private_data = pp; + unlock_kernel(); return 0; } |