From: Siddharth Gupta <sidgup@codeaurora.org>
To: bjorn.andersson@linaro.org, ohad@wizery.com,
linux-remoteproc@vger.kernel.org
Cc: Siddharth Gupta <sidgup@codeaurora.org>,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, psodagud@codeaurora.org,
stable@vger.kernel.org
Subject: [PATCH v2 3/4] remoteproc: core: Fix cdev remove and rproc del
Date: Mon, 14 Jun 2021 13:40:43 -0700 [thread overview]
Message-ID: <1623703244-26814-4-git-send-email-sidgup@codeaurora.org> (raw)
In-Reply-To: <1623703244-26814-1-git-send-email-sidgup@codeaurora.org>
The rproc_char_device_remove() call currently unmaps the cdev
region instead of simply deleting the cdev that was added as a
part of the rproc_char_device_add() call. This change fixes that
behaviour, and also fixes the order in which device_del() and
cdev_del() need to be called.
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
---
0000-cover-letter.patch.backup | 26 ++++++++++++++++++++++++++
drivers/remoteproc/remoteproc_cdev.c | 2 +-
drivers/remoteproc/remoteproc_core.c | 2 +-
3 files changed, 28 insertions(+), 2 deletions(-)
create mode 100644 0000-cover-letter.patch.backup
diff --git a/0000-cover-letter.patch.backup b/0000-cover-letter.patch.backup
new file mode 100644
index 0000000..837bcdb
--- /dev/null
+++ b/0000-cover-letter.patch.backup
@@ -0,0 +1,26 @@
+From 78fcb27d574d2f7b06e37b77b257f98858a88d9d Mon Sep 17 00:00:00 2001
+From: Siddharth Gupta <sidgup@codeaurora.org>
+Date: Mon, 17 May 2021 13:33:25 -0700
+Subject: [PATCH 0/3] remoteproc: core: Fixes for rproc cdev and add
+To: bjorn.andersson@linaro.org,ohad@wizery.com,linux-remoteproc@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org,linux-arm-msm@vger.kernel.org,linux-arm-kernel@lists.infradead.org,psodagud@codeaurora.org,stable@vger.kernel.org
+
+This patch series contains stability fixes and error handling for remoteproc.
+
+The changes included in this series do the following:
+Patch 1: Fixes the creation of the rproc character device.
+Patch 2: Validates rproc as the first step of rproc_add().
+Patch 3: Adds error handling in rproc_add().
+
+Siddharth Gupta (3):
+ remoteproc: core: Move cdev add before device add
+ remoteproc: core: Move validate before device add
+ remoteproc: core: Cleanup device in case of failure
+
+ drivers/remoteproc/remoteproc_core.c | 25 +++++++++++++++++--------
+ 1 file changed, 17 insertions(+), 8 deletions(-)
+
+--
+Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
+a Linux Foundation Collaborative Project
+
diff --git a/drivers/remoteproc/remoteproc_cdev.c b/drivers/remoteproc/remoteproc_cdev.c
index 0b8a84c..4ad98b0 100644
--- a/drivers/remoteproc/remoteproc_cdev.c
+++ b/drivers/remoteproc/remoteproc_cdev.c
@@ -124,7 +124,7 @@ int rproc_char_device_add(struct rproc *rproc)
void rproc_char_device_remove(struct rproc *rproc)
{
- __unregister_chrdev(MAJOR(rproc->dev.devt), rproc->index, 1, "remoteproc");
+ cdev_del(&rproc->cdev);
}
void __init rproc_init_cdev(void)
diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index b65fce3..b874280 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -2619,7 +2619,6 @@ int rproc_del(struct rproc *rproc)
mutex_unlock(&rproc->lock);
rproc_delete_debug_dir(rproc);
- rproc_char_device_remove(rproc);
/* the rproc is downref'ed as soon as it's removed from the klist */
mutex_lock(&rproc_list_mutex);
@@ -2630,6 +2629,7 @@ int rproc_del(struct rproc *rproc)
synchronize_rcu();
device_del(&rproc->dev);
+ rproc_char_device_remove(rproc);
return 0;
}
--
Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
next prev parent reply other threads:[~2021-06-14 20:41 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-14 20:40 [PATCH v2 0/4] remoteproc: core: Fixes for rproc cdev and add Siddharth Gupta
2021-06-14 20:40 ` [PATCH v2 1/4] remoteproc: core: Move cdev add before device add Siddharth Gupta
2021-06-14 20:40 ` [PATCH v2 2/4] remoteproc: core: Move validate " Siddharth Gupta
2021-06-14 20:40 ` Siddharth Gupta [this message]
2021-06-14 20:40 ` [PATCH v2 4/4] remoteproc: core: Cleanup device in case of failure Siddharth Gupta
2021-06-14 20:59 ` [PATCH v2 0/4] remoteproc: core: Fixes for rproc cdev and add Bjorn Andersson
2021-06-14 20:59 ` Bjorn Andersson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1623703244-26814-4-git-send-email-sidgup@codeaurora.org \
--to=sidgup@codeaurora.org \
--cc=bjorn.andersson@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=ohad@wizery.com \
--cc=psodagud@codeaurora.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.