Re: [RFC][PATCH 2/3] PM / sleep: Mechanism to avoid resuming runtime-suspended devices unnecessarily

Alan Stern
2014-05-13T15:12:28Z

On Tue, 13 May 2014, Rafael J. Wysocki wrote:

> > > + dev->power.direct_complete = ret > 0 && state.event == PM_EVENT_SUSPEND
> > > + && pm_runtime_suspended(dev);
> >
> > Shouldn't the flag be set under the spinlock?
>
> I guess you're worried about runtime PM flags being modified in parallel to
> this? But we've just done the barrier a while ago, so is that still a concern
> here?

A wakeup request from the hardware could cause a runtime resume to
occur at this time. The barrier wouldn't prevent that.

It's unlikely, I agree, but not impossible.

Alan Stern