X-Git-Url: http://git.agner.ch/gitweb/?p=linux-drm-fsl-dcu.git;a=blobdiff_plain;f=block%2Fcfq-iosched.c;h=84e9be073180253baab4cfddb69fbc2a4a14e764;hp=e9019ed39b7352a5416aa38a9a15623be744293d;hb=4c1ac1b49122b805adfa4efc620592f68dccf5db;hpb=d916faace3efc0bf19fe9a615a1ab8fa1a24cd93 diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index e9019ed39b73..84e9be073180 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -1840,9 +1840,11 @@ queue_fail: return 1; } -static void cfq_kick_queue(void *data) +static void cfq_kick_queue(struct work_struct *work) { - request_queue_t *q = data; + struct cfq_data *cfqd = + container_of(work, struct cfq_data, unplug_work); + request_queue_t *q = cfqd->queue; unsigned long flags; spin_lock_irqsave(q->queue_lock, flags); @@ -1986,7 +1988,7 @@ static void *cfq_init_queue(request_queue_t *q) cfqd->idle_class_timer.function = cfq_idle_class_timer; cfqd->idle_class_timer.data = (unsigned long) cfqd; - INIT_WORK(&cfqd->unplug_work, cfq_kick_queue, q); + INIT_WORK(&cfqd->unplug_work, cfq_kick_queue); cfqd->cfq_quantum = cfq_quantum; cfqd->cfq_fifo_expire[0] = cfq_fifo_expire[0];