Re: [PATCH] rpmsg: smd: do not use mananged resources for endpoints and channels

From: Bjorn Andersson
Date: Sun Jun 03 2018 - 20:49:59 EST


On Fri 01 Jun 16:32 PDT 2018, Srinivas Kandagatla wrote:
> @@ -1380,11 +1380,13 @@ static void qcom_smd_edge_release(struct device *dev)
> {
> struct qcom_smd_channel *channel;
> struct qcom_smd_edge *edge = to_smd_edge(dev);
> + struct list_head *this, *tmp;
>
> - list_for_each_entry(channel, &edge->channels, list) {
> - SET_RX_CHANNEL_INFO(channel, state, SMD_CHANNEL_CLOSED);
> - SET_RX_CHANNEL_INFO(channel, head, 0);
> - SET_RX_CHANNEL_INFO(channel, tail, 0);
> + list_for_each_safe(this, tmp, &edge->channels) {
> + channel = list_entry(this, struct qcom_smd_channel, list);

Is there a reason not to use list_for_each_entry_safe()?

> + list_del(&channel->list);
> + kfree(channel->name);
> + kfree(channel);

Regards,
Bjorn