Loading drivers/rpmsg/qcom_glink_native.c +9 −0 Original line number Diff line number Diff line Loading @@ -290,13 +290,22 @@ static void qcom_glink_channel_release(struct kref *ref) { struct glink_channel *channel = container_of(ref, struct glink_channel, refcount); struct glink_core_rx_intent *tmp; unsigned long flags; int iid; CH_INFO(channel, "\n"); wake_up(&channel->intent_req_event); spin_lock_irqsave(&channel->intent_lock, flags); idr_for_each_entry(&channel->liids, tmp, iid) { kfree(tmp->data); kfree(tmp); } idr_destroy(&channel->liids); idr_for_each_entry(&channel->riids, tmp, iid) kfree(tmp); idr_destroy(&channel->riids); spin_unlock_irqrestore(&channel->intent_lock, flags); Loading Loading
drivers/rpmsg/qcom_glink_native.c +9 −0 Original line number Diff line number Diff line Loading @@ -290,13 +290,22 @@ static void qcom_glink_channel_release(struct kref *ref) { struct glink_channel *channel = container_of(ref, struct glink_channel, refcount); struct glink_core_rx_intent *tmp; unsigned long flags; int iid; CH_INFO(channel, "\n"); wake_up(&channel->intent_req_event); spin_lock_irqsave(&channel->intent_lock, flags); idr_for_each_entry(&channel->liids, tmp, iid) { kfree(tmp->data); kfree(tmp); } idr_destroy(&channel->liids); idr_for_each_entry(&channel->riids, tmp, iid) kfree(tmp); idr_destroy(&channel->riids); spin_unlock_irqrestore(&channel->intent_lock, flags); Loading