On Wed, Jun 29, 2011 at 6:43 PM, Grant Likely <grant.likely@xxxxxxxxxxxx> wrote: > So you are right that device_unregister drops the refcount to zero, > but the code still needs to be fixed to not call kfree() directly. Good point, thanks ! > It also looks like rpmsg_destroy_channel() needs to be fixed to remove > the kfree call Yes, I need to remove this direct kfree as well, and indeed just let rpmsg_release_device do its thing when the last reference is dropped. I should also remove the direct kfree when device_register fails: in that case, I need only to put_device and let the release handler do its thing too. > and an extra put_device() call. We need that extra put_device in rpmsg_destroy_channel because device_find_child() is doing get_device before returning it. Thanks, Grant! Ohad. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html