On Thu, Jun 01, 2023 at 11:13:40AM +0200, Damian Muszynski wrote: > > +static void timer_handler(struct timer_list *tl) > +{ > + struct adf_timer *timer_ctx = from_timer(timer_ctx, tl, timer); > + unsigned long timeout_val = adf_get_next_timeout(); > + > + /* Schedule a work queue to send admin request */ > + adf_misc_wq_queue_work(&timer_ctx->timer_bh); > + > + timer_ctx->cnt++; > + mod_timer(tl, timeout_val); > +} So the timer simply schedules a work. Could you use a delayed work instead? Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt