Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751363AbdH1Vvz (ORCPT ); Mon, 28 Aug 2017 17:51:55 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:45274 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751182AbdH1Vvx (ORCPT ); Mon, 28 Aug 2017 17:51:53 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 5CB7460725 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=clew@codeaurora.org Subject: Re: [PATCH v2 11/20] rpmsg: glink: Fix idr_lock from mutex to spinlock To: Sricharan R , ohad@wizery.com, bjorn.andersson@linaro.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <1503559302-3744-1-git-send-email-sricharan@codeaurora.org> <1503559302-3744-12-git-send-email-sricharan@codeaurora.org> From: Chris Lew Message-ID: <88b34df6-d697-1d98-6427-5ddfe14785b1@codeaurora.org> Date: Mon, 28 Aug 2017 14:51:51 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <1503559302-3744-12-git-send-email-sricharan@codeaurora.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1088 Lines: 37 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