public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Davis <afd@ti.com>
To: Jassi Brar <jassisinghbrar@gmail.com>,
	Hari Nagalla <hnagalla@ti.com>, Nick Saulnier <nsaulnier@ti.com>,
	Bjorn Andersson <andersson@kernel.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: <linux-remoteproc@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, Andrew Davis <afd@ti.com>
Subject: [PATCH v2 04/13] mailbox: omap: Move fifo size check to point of use
Date: Wed, 10 Apr 2024 08:59:33 -0500	[thread overview]
Message-ID: <20240410135942.61667-5-afd@ti.com> (raw)
In-Reply-To: <20240410135942.61667-1-afd@ti.com>

The mbox_kfifo_size can be changed at runtime, the sanity
check on it's value should be done when it is used, not
only once at init time.

Signed-off-by: Andrew Davis <afd@ti.com>
---
 drivers/mailbox/omap-mailbox.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/mailbox/omap-mailbox.c b/drivers/mailbox/omap-mailbox.c
index c083734b6954c..167348fb1b33b 100644
--- a/drivers/mailbox/omap-mailbox.c
+++ b/drivers/mailbox/omap-mailbox.c
@@ -310,6 +310,7 @@ static struct omap_mbox_queue *mbox_queue_alloc(struct omap_mbox *mbox,
 					void (*work)(struct work_struct *))
 {
 	struct omap_mbox_queue *mq;
+	unsigned int size;
 
 	if (!work)
 		return NULL;
@@ -320,7 +321,10 @@ static struct omap_mbox_queue *mbox_queue_alloc(struct omap_mbox *mbox,
 
 	spin_lock_init(&mq->lock);
 
-	if (kfifo_alloc(&mq->fifo, mbox_kfifo_size, GFP_KERNEL))
+	/* kfifo size sanity check: alignment and minimal size */
+	size = ALIGN(mbox_kfifo_size, sizeof(u32));
+	size = max_t(unsigned int, size, sizeof(u32));
+	if (kfifo_alloc(&mq->fifo, size, GFP_KERNEL))
 		goto error;
 
 	INIT_WORK(&mq->work, work);
@@ -838,10 +842,6 @@ static int __init omap_mbox_init(void)
 	if (err)
 		return err;
 
-	/* kfifo size sanity check: alignment and minimal size */
-	mbox_kfifo_size = ALIGN(mbox_kfifo_size, sizeof(u32));
-	mbox_kfifo_size = max_t(unsigned int, mbox_kfifo_size, sizeof(u32));
-
 	err = platform_driver_register(&omap_mbox_driver);
 	if (err)
 		class_unregister(&omap_mbox_class);
-- 
2.39.2


  parent reply	other threads:[~2024-04-10 13:59 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-10 13:59 [PATCH v2 00/13] OMAP mailbox FIFO removal Andrew Davis
2024-04-10 13:59 ` [PATCH v2 01/13] mailbox: omap: Remove unused omap_mbox_{enable,disable}_irq() functions Andrew Davis
2024-04-10 13:59 ` [PATCH v2 02/13] mailbox: omap: Remove unused omap_mbox_request_channel() function Andrew Davis
2024-04-10 13:59 ` [PATCH v2 03/13] mailbox: omap: Move omap_mbox_irq_t into driver Andrew Davis
2024-04-10 13:59 ` Andrew Davis [this message]
2024-04-10 13:59 ` [PATCH v2 05/13] mailbox: omap: Remove unneeded header omap-mailbox.h Andrew Davis
2024-04-10 13:59 ` [PATCH v2 06/13] mailbox: omap: Remove device class Andrew Davis
2024-04-10 13:59 ` [PATCH v2 07/13] mailbox: omap: Use devm_pm_runtime_enable() helper Andrew Davis
2024-04-10 13:59 ` [PATCH v2 08/13] mailbox: omap: Merge mailbox child node setup loops Andrew Davis
2024-04-10 13:59 ` [PATCH v2 09/13] mailbox: omap: Use function local struct mbox_controller Andrew Davis
2024-04-10 13:59 ` [PATCH v2 10/13] mailbox: omap: Use mbox_controller channel list directly Andrew Davis
2024-04-10 13:59 ` [PATCH v2 11/13] mailbox: omap: Remove mbox_chan_to_omap_mbox() Andrew Davis
2024-04-10 13:59 ` [PATCH v2 12/13] mailbox: omap: Reverse FIFO busy check logic Andrew Davis
2024-04-10 13:59 ` [PATCH v2 13/13] mailbox: omap: Remove kernel FIFO message queuing Andrew Davis
2024-06-13  7:58 ` [PATCH v2 00/13] OMAP mailbox FIFO removal Dominic Rath
2024-06-13 12:22   ` Andrew Davis
2024-06-14  6:12     ` Dominic Rath
2024-06-26 14:39     ` Dominic Rath
2024-06-26 15:30       ` Andrew Davis

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=20240410135942.61667-5-afd@ti.com \
    --to=afd@ti.com \
    --cc=andersson@kernel.org \
    --cc=hnagalla@ti.com \
    --cc=jassisinghbrar@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=nsaulnier@ti.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox