Hello,

On Thu, Jun 16, 2016 at 01:17:28PM +0200, Petr Mladek wrote:
> +/**
> + * kthread_delayed_work_timer_fn - callback that queues the associated 
> kthread
> + *   delayed work when the timer expires.
> + * @__data: pointer to the data associated with the timer
> + *
> + * The format of the function is defined by struct timer_list.
> + * It should have been called from irqsafe timer with irq already off.
> + */
> +void kthread_delayed_work_timer_fn(unsigned long __data)
> +{
> +     struct kthread_delayed_work *dwork =
> +             (struct kthread_delayed_work *)__data;
> +     struct kthread_work *work = &dwork->work;
> +     struct kthread_worker *worker = work->worker;
> +
> +     /*
> +      * This might happen when a pending work is reinitialized.
> +      * It means that it is used a wrong way.
> +      */
> +     if (WARN_ON_ONCE(!worker))
> +             return;
> +
> +     spin_lock(&worker->lock);
> +     /* Work must not be used with more workers, see kthread_queue_work(). */
                                         ^
                                         ditto, this reads weird

Other than that,

Acked-by: Tejun Heo <[email protected]>

Thanks.

-- 
tejun

Reply via email to