Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp7940448pxb; Fri, 19 Feb 2021 03:26:40 -0800 (PST) X-Google-Smtp-Source: ABdhPJzTmbBHZY8JN/G0IaieQGgssPw0BwpkA7h+VDeOSvIKi1dVbXr+Nya01q8zL6E/WPHkZ9oz X-Received: by 2002:a05:6402:1152:: with SMTP id g18mr8842007edw.18.1613734000411; Fri, 19 Feb 2021 03:26:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613734000; cv=none; d=google.com; s=arc-20160816; b=DhA69lyUmDzv+oxIHE/sfyLl0niia9B95bVHNXyzKYOHqLvSNZQkooO57CW86F4Uih qGESRyalTgj1NJFXKSYIBRCYIighzYHObV/CmyLWzTZiYwodfZ4SYg8nUeIIT2am0OJ5 sp/IHJ7Jfg2MrgUK4UHs4kg41ORMr+Sn6YkBiRFVcBwAj8zHVw8sCmRWPvEgt6XlSHDo GRTPz3rDZh0bNS7eOsMBVGYXSWcquYIalOr3p5KiGXVl7eGD6rNPtRj3lnhdVZRykJZ/ ak/WN/beovJdf4CNs3yh5LWWK75MSowiUZlQSDl6sRwsTQmWomfcAWdReNk+n1hWAAeT 8vlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=wGwoKvrJtrrbxP1r0sguXRpKiD1qux0aLuHD61EaIT8=; b=Zb57BMfLQQtZQaHUp9C2BmMBsdgEWditHsoKlCm5crCvUmK+0hAV815XS1Cod8p3Aq nqAcf+nPAK6Vs0mRkqmgtTTCfQt6veLdr4RAi0K9CefdoulcKbg4Y6EZLFjSG3iSEZ3e ZO0b9RFfhzav+NgmhflSU+aGJR2Q17dqrnn1wzGGBSG3ETE2F9g2XtfMsU5VctSMp21p JxnlTPEA8pUMbr9vSy3AMDLjfWFrmAwcszxBmP7jKNYW+0M8T9ZhqKgioUcd7wJ6JRYA BEXk4rPpD5lZyAcQ5gtE4bnfRxKpJKUprEYB0IIAZVFGoEpCG6yu6f/4ZKdyQsRqL4vq 9Neg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=orAiuPhF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id rl11si7006698ejb.560.2021.02.19.03.26.16; Fri, 19 Feb 2021 03:26:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=orAiuPhF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230421AbhBSLZS (ORCPT + 99 others); Fri, 19 Feb 2021 06:25:18 -0500 Received: from mx07-00178001.pphosted.com ([185.132.182.106]:58216 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230423AbhBSLT6 (ORCPT ); Fri, 19 Feb 2021 06:19:58 -0500 Received: from pps.filterd (m0241204.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 11JBGJ77030425; Fri, 19 Feb 2021 12:19:12 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=selector1; bh=wGwoKvrJtrrbxP1r0sguXRpKiD1qux0aLuHD61EaIT8=; b=orAiuPhFbVUnDVPQabeWm2vaA+hsIA/beNuc7AP73vJPn3Jv9mZde6U9LnqBmYqnl+eR X1yrBgOz8aX9+CjrO9vuke4gygIQ4189sQzsv2bCnlL6qg1vgKr5i5Q6PcJCf2xKcuYn KsGVdcY2y5LxmlzJ2BGGxsN8OWWxzqJqUufpsUZctdMIOhAp2m7f45cHJTHMo2u4oVBl Psdk5ian+2zglQIbIt0hDuxTi3xGwlcT9m503uNzwgKy7SHITbDEptN//NJRVTDezPjT r+chVxgaY2d6toXx6KLdZd2kYPrXKJPKpNI0oDSQ9Hw5NW2iqwQvatcnMBZfAxw7CawK Pw== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 36p7072t39-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 19 Feb 2021 12:19:12 +0100 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id F333810002A; Fri, 19 Feb 2021 12:19:11 +0100 (CET) Received: from Webmail-eu.st.com (sfhdag2node3.st.com [10.75.127.6]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id E64C5221760; Fri, 19 Feb 2021 12:19:11 +0100 (CET) Received: from localhost (10.75.127.44) by SFHDAG2NODE3.st.com (10.75.127.6) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 19 Feb 2021 12:19:11 +0100 From: Arnaud Pouliquen To: Bjorn Andersson , Ohad Ben-Cohen , Mathieu Poirier , Andy Gross CC: , , , , Subject: [PATCH v5 16/16] rpmsg: char: return an error if device already open Date: Fri, 19 Feb 2021 12:15:01 +0100 Message-ID: <20210219111501.14261-17-arnaud.pouliquen@foss.st.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210219111501.14261-1-arnaud.pouliquen@foss.st.com> References: <20210219111501.14261-1-arnaud.pouliquen@foss.st.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.75.127.44] X-ClientProxiedBy: SFHDAG3NODE3.st.com (10.75.127.9) To SFHDAG2NODE3.st.com (10.75.127.6) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369,18.0.761 definitions=2021-02-19_04:2021-02-18,2021-02-19 signatures=0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The rpmsg_create_ept function is invoked when the device is opened. As only one endpoint must be created per device. It is not possible to open the same device twice. But there is nothing to prevent multi open. Return -EBUSY when device is already opened to have a generic error instead of relying on the back-end to potentially detect the error. Without this patch for instance the GLINK driver return -EBUSY while the virtio bus return -ENOSPC. Signed-off-by: Arnaud Pouliquen --- drivers/rpmsg/rpmsg_char.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c index 8d3f9d6c20ad..4cd5b79559f0 100644 --- a/drivers/rpmsg/rpmsg_char.c +++ b/drivers/rpmsg/rpmsg_char.c @@ -116,6 +116,9 @@ static int rpmsg_eptdev_open(struct inode *inode, struct file *filp) struct device *dev = &eptdev->dev; u32 addr = eptdev->chinfo.src; + if (eptdev->ept) + return -EBUSY; + get_device(dev); /* -- 2.17.1