diff --git a/[refs] b/[refs] index 398f067baa56..ce3bb08ee98c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 609f9e92b570f390a457a81effe0af6b758dc582 +refs/heads/master: f97259e35de1f99ba0ac19383408e247fd763cf0 diff --git a/trunk/drivers/char/vc_screen.c b/trunk/drivers/char/vc_screen.c index 83aeedda200c..eebfad2777d2 100644 --- a/trunk/drivers/char/vc_screen.c +++ b/trunk/drivers/char/vc_screen.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -460,9 +461,13 @@ static int vcs_open(struct inode *inode, struct file *filp) { unsigned int currcons = iminor(inode) & 127; + int ret = 0; + + lock_kernel(); if(currcons && !vc_cons_allocated(currcons-1)) - return -ENXIO; - return 0; + ret = -ENXIO; + unlock_kernel(); + return ret; } static const struct file_operations vcs_fops = {