Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp372903pxf; Thu, 11 Mar 2021 06:06:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJxC4MC/vamuZYmg+w0Z3ajr+PhmSZUDM50WR9nyYdsN81gBc1Zb9e9ip6XDVH5jo+qs02da X-Received: by 2002:a17:907:778d:: with SMTP id ky13mr3251505ejc.291.1615471591247; Thu, 11 Mar 2021 06:06:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615471591; cv=none; d=google.com; s=arc-20160816; b=IUgMisKTsE6huZDPH7a2b/FT3IATwbz1+9KBmEYknyRS/592aUU/i+vFJzbxm2t17d bHt3/TARYMIwhXCM/kYLZe9RtFa7pMV5W8m24rDmZJQc7CD6wr/qF7aYISMi23gczED1 5QBwUnqexqeFs6rgERfMQ99HiK9b7JMypLIl8oU4JNP2LxaKIhcIOKUWpX1gJwx22D68 U+6BHwl92V7lZdkQexkeD30Yku/sCfJuGQooe/M2n9huejNIDYZ+6NSiKhOmImfzd+HG tWn6OKq1qufy/RKEcTdG2koIyCctGZrf6uzjBzhLL9quLIU2dQZk7drug6y7zzTBoQbe fNlA== 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=nBWlEyvQI2fqwZ059ASzKpc9vBdJl0uPh4tn9lalucg=; b=F1F50WHalAaZetVNSYspOwVhSnulq/K581cM3jR4jgie3LjWr1TmRKSlai+JdUK58+ aFYW38hUO1E5MoVbjXRFjyE5beHkZ6AUeQkpcomKda43r9zFQzkxXzDMa0g2hn0jFPhk 1gkb7LpaqQzJ+t2pN3aa8ZyyZrXfTaCwSNqoSmD+0rUS5Ja4OVyRMBYiQEDmDXza772d /4UVzdmAKNdS9il4uvDPxalkHOw5HkaAw/IGnbnWOgbcgjrX3a0WUVIwPRqmT2uMStn1 UxjCE29fNdZlr9hU0XfYFwdmn4mUgcYW6D728w3TYnvFr6prZGFDHcQjelUEEtKPQCzw 6YPQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=zQ+eJDMt; 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 cx5si1865934edb.555.2021.03.11.06.06.07; Thu, 11 Mar 2021 06:06:31 -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=zQ+eJDMt; 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 S233904AbhCKOEt (ORCPT + 99 others); Thu, 11 Mar 2021 09:04:49 -0500 Received: from mx07-00178001.pphosted.com ([185.132.182.106]:37401 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233855AbhCKOEg (ORCPT ); Thu, 11 Mar 2021 09:04:36 -0500 Received: from pps.filterd (m0046668.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 12BE32Iu011083; Thu, 11 Mar 2021 15:04:29 +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=nBWlEyvQI2fqwZ059ASzKpc9vBdJl0uPh4tn9lalucg=; b=zQ+eJDMtEGdHawvMvnq6n9T+NAOR8p1TXx6YkzJYNmFuDd1xqmb5fkUsyn4BdxQepxQ3 QhGW2wHXYd3vZzs32V4jVdXGYv1pcKq3G7pAxlbsM6z0bJzTNU+kgV0GbFkKfQttBG8p ZQmwrNw6DEhQkTZmu/ZgYgp2onsXBKTb5LK8jHG1Rzft2qynzEr/r45gfprTozHZFQ4x OaKU6uALJh5FSokbhshd70+qF5PxfNcMWWq4yk9UOnjT037m5523Ck0uoRHDRNoBk+dN 9aB3WoASp9ni1j1Cj6w92PgCL3d3e/0lKc4jOXmbEJ0P8KqSysORFqDUVJ4G/QUhNHz4 vA== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 37403775mc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 11 Mar 2021 15:04:29 +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 03D3410002A; Thu, 11 Mar 2021 15:04:29 +0100 (CET) Received: from Webmail-eu.st.com (sfhdag2node3.st.com [10.75.127.6]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id ED064247BC8; Thu, 11 Mar 2021 15:04:28 +0100 (CET) Received: from localhost (10.75.127.48) by SFHDAG2NODE3.st.com (10.75.127.6) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 11 Mar 2021 15:04:28 +0100 From: Arnaud Pouliquen To: Bjorn Andersson , Ohad Ben-Cohen , Mathieu Poirier , Andy Gross CC: , , , , Subject: [PATCH 6/6] rpmsg: char: Return an error if device already open Date: Thu, 11 Mar 2021 15:04:13 +0100 Message-ID: <20210311140413.31725-7-arnaud.pouliquen@foss.st.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210311140413.31725-1-arnaud.pouliquen@foss.st.com> References: <20210311140413.31725-1-arnaud.pouliquen@foss.st.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.75.127.48] X-ClientProxiedBy: SFHDAG2NODE1.st.com (10.75.127.4) 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-03-11_05:2021-03-10,2021-03-11 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 95a65f7a9d8d..2bebc9b2d163 100644 --- a/drivers/rpmsg/rpmsg_char.c +++ b/drivers/rpmsg/rpmsg_char.c @@ -127,6 +127,9 @@ static int rpmsg_eptdev_open(struct inode *inode, struct file *filp) struct rpmsg_device *rpdev = eptdev->rpdev; struct device *dev = &eptdev->dev; + if (eptdev->ept) + return -EBUSY; + get_device(dev); ept = rpmsg_create_ept(rpdev, rpmsg_ept_cb, eptdev, eptdev->chinfo); -- 2.17.1