Hi Sricharan, Minor bug in this patch.
On 8/24/2017 12:21 AM, Sricharan R wrote: [..]
@@ -829,11 +839,14 @@ static int qcom_glink_rx_open(struct qcom_glink *glink, unsigned int rcid, struct device_node *node; int lcid; int ret; + unsigned long flags;+ spin_lock_irqsave(&glink->idr_lock, flags);idr_for_each_entry(&glink->lcids, channel, lcid) { if (!strcmp(channel->name, name)) break; } + spin_unlock_irqrestore(&glink->idr_lock, flags);if (!channel) {channel = qcom_glink_alloc_channel(glink, name); @@ -844,15 +857,15 @@ static int qcom_glink_rx_open(struct qcom_glink *glink, unsigned int rcid, create_device = true; }- mutex_lock(&glink->idr_lock);+ spin_lock_irqsave(&glink->idr_lock, flags); ret = idr_alloc(&glink->rcids, channel, rcid, rcid + 1, GFP_KERNEL);
I think GFP_KERNEL should be changed to GFP_ATOMIC if the mutex is changed to spinlock.
Thanks, Chris -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

