On Friday, November 15, 2013 12:40:44 PM Ulf Hansson wrote: > If a device prepare callback for some reason would fail, the PM core > prevented the device from going inactive forever. > > In this case, to reverse the pm_runtime_get_noresume() we invokes the > asyncronous pm_runtime_put(), thus restoring the usage count. > > Cc: Kevin Hilman <khilman@xxxxxxxxxx> > Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> This should be in linux-next already. Thanks! > --- > drivers/base/power/main.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c > index ee039af..2a1b06a 100644 > --- a/drivers/base/power/main.c > +++ b/drivers/base/power/main.c > @@ -1350,6 +1350,9 @@ static int device_prepare(struct device *dev, pm_message_t state) > > device_unlock(dev); > > + if (error) > + pm_runtime_put(dev); > + > return error; > } > > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html