diff --git a/[refs] b/[refs] index 21805fe2bff4..40022435f9cb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5f00397644e01adfbebafb5d0ebc01eba522709d +refs/heads/master: 248d5ca5ed5feb7f1a68d213c0ff89c604a97179 diff --git a/trunk/block/elevator.c b/trunk/block/elevator.c index dbbea73a8b10..96a61e029ce5 100644 --- a/trunk/block/elevator.c +++ b/trunk/block/elevator.c @@ -168,10 +168,12 @@ int elevator_init(request_queue_t *q, char *name) if (name && !(e = elevator_get(name))) return -EINVAL; - if (!e && !(e = elevator_get(chosen_elevator))) { - e = elevator_get(CONFIG_DEFAULT_IOSCHED); - if (*chosen_elevator) - printk("I/O scheduler %s not found\n", chosen_elevator); + if (!e && *chosen_elevator && !(e = elevator_get(chosen_elevator))) + printk("I/O scheduler %s not found\n", chosen_elevator); + + if (!e && !(e = elevator_get(CONFIG_DEFAULT_IOSCHED))) { + printk("Default I/O scheduler not found, using no-op\n"); + e = elevator_get("noop"); } eq = kmalloc(sizeof(struct elevator_queue), GFP_KERNEL);