On Fri, 18 Aug 2023 16:38:57 +0100
Steven Price <steven.pr...@arm.com> wrote:

> > +/**
> > + * sched_queue_work() - Queue a scheduler work.
> > + * @sched: Scheduler object.
> > + * @wname: Work name.
> > + *
> > + * Conditionally queues a scheduler work if no reset is 
> > pending/in-progress.
> > + */
> > +#define sched_queue_work(sched, wname) \
> > +   do { \
> > +           if (sched->reset.in_progress || \  
> 
> Is this missing a '!'? This executes if a reset is in progress.

What?! I wonder how this went unnoticed. I guess the fact I only use
scheduler-level works for user sync object signaling (which are not
used yet) and ping (I'm sure I tested it, but it must have been before I
extended the reset logic...) could explain that, but still...

> 
> > +               !panthor_device_reset_is_pending((sched)->ptdev)) \
> > +                   queue_work((sched)->wq, &(sched)->wname ## _work); \
> > +   } while (0)

Reply via email to