[S390] dasd: remove BKL from extended error reporting code
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 7 Dec 2009 11:52:24 +0000 (12:52 +0100)
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>
Mon, 7 Dec 2009 11:51:39 +0000 (12:51 +0100)
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/block/dasd_eer.c

index d96039e..1f3e967 100644 (file)
@@ -536,7 +536,6 @@ static int dasd_eer_open(struct inode *inp, struct file *filp)
        eerb = kzalloc(sizeof(struct eerbuffer), GFP_KERNEL);
        if (!eerb)
                return -ENOMEM;
-       lock_kernel();
        eerb->buffer_page_count = eer_pages;
        if (eerb->buffer_page_count < 1 ||
            eerb->buffer_page_count > INT_MAX / PAGE_SIZE) {
@@ -544,7 +543,6 @@ static int dasd_eer_open(struct inode *inp, struct file *filp)
                DBF_EVENT(DBF_WARNING, "can't open device since module "
                        "parameter eer_pages is smaller than 1 or"
                        " bigger than %d", (int)(INT_MAX / PAGE_SIZE));
-               unlock_kernel();
                return -EINVAL;
        }
        eerb->buffersize = eerb->buffer_page_count * PAGE_SIZE;
@@ -552,14 +550,12 @@ static int dasd_eer_open(struct inode *inp, struct file *filp)
                               GFP_KERNEL);
         if (!eerb->buffer) {
                kfree(eerb);
-               unlock_kernel();
                 return -ENOMEM;
        }
        if (dasd_eer_allocate_buffer_pages(eerb->buffer,
                                           eerb->buffer_page_count)) {
                kfree(eerb->buffer);
                kfree(eerb);
-               unlock_kernel();
                return -ENOMEM;
        }
        filp->private_data = eerb;
@@ -567,7 +563,6 @@ static int dasd_eer_open(struct inode *inp, struct file *filp)
        list_add(&eerb->list, &bufferlist);
        spin_unlock_irqrestore(&bufferlock, flags);
 
-       unlock_kernel();
        return nonseekable_open(inp,filp);
 }