[RFC 7/8] drivers: introduce rpmsg, a remote-processor messaging bus

Ohad Ben-Cohen ohad at wizery.com
Fri Jul 1 11:13:54 EDT 2011


On Wed, Jun 29, 2011 at 6:43 PM, Grant Likely <grant.likely at secretlab.ca> 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.



More information about the linux-arm-kernel mailing list