[PATCH v2 01/15] mailbox: Deprecate NULL mbox messages; Introduce mbox_ring_doorbell()
Jassi Brar
jassisinghbrar at gmail.com
Mon Feb 9 16:38:58 PST 2026
Hi Douglas,
On Sat, Feb 7, 2026 at 10:04 PM Douglas Anderson <dianders at chromium.org> wrote:
> @@ -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
More information about the linux-arm-kernel
mailing list