]> Pileus Git - ~andy/linux/blobdiff - drivers/s390/block/dasd.c
Merge branch 'for-3.13/drivers' of git://git.kernel.dk/linux-block
[~andy/linux] / drivers / s390 / block / dasd.c
index 244f77f844f020afec60f072694f7c70bcaadb8a..f302efa937ef042412bf8b3c0df1585542ee12de 100644 (file)
@@ -2979,12 +2979,12 @@ static int dasd_alloc_queue(struct dasd_block *block)
 
        elevator_exit(block->request_queue->elevator);
        block->request_queue->elevator = NULL;
+       mutex_lock(&block->request_queue->sysfs_lock);
        rc = elevator_init(block->request_queue, "deadline");
-       if (rc) {
+       if (rc)
                blk_cleanup_queue(block->request_queue);
-               return rc;
-       }
-       return 0;
+       mutex_unlock(&block->request_queue->sysfs_lock);
+       return rc;
 }
 
 /*