On Jan 18, 2008 6:23 PM, Cornelia Huck <[EMAIL PROTECTED]> wrote:
> On Fri, 18 Jan 2008 10:19:33 +0100,
> Cornelia Huck <[EMAIL PROTECTED]> wrote:
>
> > >
> > > 1314         if (IS_ERR(new_parent_kobj)) {
> > > 1315                 error = PTR_ERR(new_parent_kobj);
> > > 1316                 put_device(new_parent);
> > > 1317                 goto out;
> > > 1318         }
> > > 1319         pr_debug("DEVICE: moving '%s' to '%s'\n", dev->bus_id,
> > > 1320                  new_parent ? new_parent->bus_id : "<NULL>");
> > > 1321         error = kobject_move(&dev->kobj, new_parent_kobj);
> > > 1322         if (error) {
> > > 1323                 put_device(new_parent);
> > >
> > > imagine new_parent is NULL, then the new_parent_kobj should be put
> >
> > No, we would need a put_device_parent() (crappy name) which puts the
> > reference iff get_device_parent() grabbed it.
>
> And looking at Greg's patchset, it has cleanup_device_parent(), which
> does just that. But it is only called in device_del(), not when
> device_move() has errors.
>
> (get_device_parent() also always returns a pointer to a kobject or
> NULL, so we can get rid of those IS_ERR() checks in setup_parent() and
> device_move() as well.)
>

Hmm, thanks.
I will be offline during weekend,  but I will still check the
device_move and other code if I have time.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to