Re: [PATCH V2 0/4] introduce device async actions mechanism

From: Rafael J. Wysocki
Date: Wed Aug 12 2009 - 17:17:26 EST


On Wednesday 12 August 2009, Alan Stern wrote:
> On Wed, 12 Aug 2009, Rafael J. Wysocki wrote:
>
> > > The one thing I'm not sure of is the pm_runtime_put_noidle calls in
> > > driver_probe_device and __device_release_driver. It seems that we
> > > should always call pm_runtime_put regardless of whether the probe
> > > succeeds or not.
> >
> > Did you mean pm_runtime_put_sync()?
>
> Yes. I haven't used the new code yet so the names don't stick in my
> mind.
>
> > > For example, the USB stack is set up to suspend devices that don't have
> > > a driver (this is handled at the bus subsystem level). But if probing
> > > failed, there wouldn't be any idle callback and so the suspend wouldn't
> > > take place.
> >
> > OK, I'll make this change.
>
> Thanks. Now I just have to figure out the best way to convert USB over
> to the new framework...

:-)

On a second thought, though, would it be a good idea to add
pm_runtime_get_noresume() / pm_runtime_put_sync() around the bus_for_each_drv()
in device_attach()? That would prevent us from resuming-suspending the device
on each failing probe.

Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/