|
@@ -2978,12 +2978,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;
|
|
|
}
|
|
|
|
|
|
/*
|