These patches were generated from: https://github.com/raspberrypi/linux/commits/rpi-6.12.y With the following command: git format-patch -N v6.12.27..HEAD (HEAD -> 8d3206ee456a5ecdf9ddbfd8e5e231e4f0cd716e) Exceptions: - (def)configs patches - github workflows patches - applied & reverted patches - readme patches - wireless patches Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
30 lines
1 KiB
Diff
30 lines
1 KiB
Diff
From 86e3cc44bf94238abaf53ec764255385e0f1913e Mon Sep 17 00:00:00 2001
|
|
From: Phil Elwell <phil@raspberrypi.com>
|
|
Date: Tue, 4 Feb 2025 13:18:45 +0000
|
|
Subject: [PATCH] mailbox: rp1: Don't claim channels in of_xlate
|
|
|
|
The of_xlate method saves the calculated event mask in the con_priv
|
|
field. It also rejects subsequent attempt to use that channel because
|
|
the mask is non-zero, which causes a repeated instantiation of a client
|
|
driver to fail.
|
|
|
|
The of_xlate method is not meant to be a point of resource acquisition.
|
|
Leave the con_priv initialisation, but drop the test that it was
|
|
previously zero.
|
|
|
|
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|
---
|
|
drivers/mailbox/rp1-mailbox.c | 2 --
|
|
1 file changed, 2 deletions(-)
|
|
|
|
--- a/drivers/mailbox/rp1-mailbox.c
|
|
+++ b/drivers/mailbox/rp1-mailbox.c
|
|
@@ -133,8 +133,6 @@ static struct mbox_chan *rp1_mbox_xlate(
|
|
return ERR_PTR(-EINVAL);
|
|
|
|
chan = &mbox->chans[doorbell];
|
|
- if (chan->con_priv)
|
|
- return ERR_PTR(-EBUSY);
|
|
|
|
chan->con_priv = (void *)(uintptr_t)(1 << doorbell);
|
|
|