]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/cpuid.c
x86: cpuid, msr: use inode mutex instead of big kernel lock
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / cpuid.c
index c10ebc4b8e4ba36b9d0d7ee72fefaf8bd07e21f9..288e7a6598ac6450c1b13a88e51337ccc0c0b9d2 100644 (file)
@@ -62,9 +62,9 @@ static void cpuid_smp_cpuid(void *cmd_block)
 static loff_t cpuid_seek(struct file *file, loff_t offset, int orig)
 {
        loff_t ret;
+       struct inode *inode = file->f_mapping->host;
 
-       lock_kernel();
-
+       mutex_lock(&inode->i_mutex);
        switch (orig) {
        case 0:
                file->f_pos = offset;
@@ -77,8 +77,7 @@ static loff_t cpuid_seek(struct file *file, loff_t offset, int orig)
        default:
                ret = -EINVAL;
        }
-
-       unlock_kernel();
+       mutex_unlock(&inode->i_mutex);
        return ret;
 }