Messages in this thread | | | Date | Mon, 6 May 2013 14:09:25 +0200 | From | Pavel Machek <> | Subject | Re: [PATCH] PM: Fix dev_pm_put_subsys_data() to not call kfree() while holding device power lock |
| |
Hi!
> > Wow, that function is fragile. It returns 0/1/-EINVAL, while being > > documented for 0/1... > > Oh, it generally should return 1 for !psd. > > > Patch does not look obviously wrong, but maybe > > > > @@ -73,13 +73,17 @@ int dev_pm_put_subsys_data(struct device *dev) > > > > if (--psd->refcount == 0) { > > dev->power.subsys_data = NULL; > > + spin_unlock_irq(&dev->power.lock); > > - kfree(psd); > > - ret = 1; > > + return 1; > > } > > > > Would be cleaner. > > What about this:
Looks good to me.
Reviewed-by: Pavel Machek <pavel@ucw.cz>
Pavel
-- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |