Thread (10 messages) 10 messages, 5 authors, 2026-02-10

Re: [PATCH v2 01/15] mailbox: Deprecate NULL mbox messages; Introduce mbox_ring_doorbell()

From: Jassi Brar <jassisinghbrar@gmail.com>
Date: 2026-02-10 00:39:10
Also in: arm-scmi, imx, linux-acpi, linux-arm-msm, linux-remoteproc, linux-tegra, lkml

Hi Douglas,

On Sat, Feb 7, 2026 at 10:04 PM Douglas Anderson [off-list ref] wrote:
quoted hunk ↗ jump to hunk
@@ -249,6 +255,28 @@ int mbox_send_message(struct mbox_chan *chan, void *mssg)
        if (!chan || !chan->cl)
                return -EINVAL;

+       /*
+        * The mailbox core gets confused when mbox_send_message() is called
+        * with NULL messages since the code directly stores messages in
+        * `active_req` and assumes that a NULL `active_req` means no request
+        * is active. This causes the core to call the mailbox controller a
+        * second time even if the previous message hasn't finished and also
+        * means the client's tx_done() callback will never be called. However,
+        * clients historically passed NULL anyway. Deprecate passing NULL
+        * here by adding a warning.
+        *
+        * Clients who don't have a message should switch to using
+        * mbox_ring_doorbell(), which explicitly documents the immediate
+        * sending of doorbells, the lack of txdone, and what happens if you
+        * mix doorbells and normal messages.
+        *
+        * TODO: when it's certain that all clients have transitioned, consider
+        * changing this to return -EINVAL.
+        */
+       if (!mssg)
+               dev_warn_once(chan->mbox->dev,
+                             "NULL mailbox messages are deprecated\n");
Nit: maybe  "NULL mailbox messages are deprecated, use
mbox_ring_doorbell instead" ?

Thanks,
Jassi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help