]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mailbox: zynqmp-ipi: Remove dev.parent check in zynqmp_ipi_free_mboxes
authorHarini T <harini.t@amd.com>
Mon, 29 Sep 2025 07:37:21 +0000 (13:07 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 Oct 2025 14:23:09 +0000 (16:23 +0200)
[ Upstream commit 019e3f4550fc7d319a7fd03eff487255f8e8aecd ]

The ipi_mbox->dev.parent check is unreliable proxy for registration
status as it fails to protect against probe failures that occur after
the parent is assigned but before device_register() completes.

device_is_registered() is the canonical and robust method to verify the
registration status.

Remove ipi_mbox->dev.parent check in zynqmp_ipi_free_mboxes().

Fixes: 4981b82ba2ff ("mailbox: ZynqMP IPI mailbox controller")
Signed-off-by: Harini T <harini.t@amd.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mailbox/zynqmp-ipi-mailbox.c

index 406821a78d51045b7c5612f022e779016d9b9567..6a48b832950db17c8bd0dbfef4b954c488ea3596 100644 (file)
@@ -618,10 +618,8 @@ static void zynqmp_ipi_free_mboxes(struct zynqmp_ipi_pdata *pdata)
        i = pdata->num_mboxes;
        for (; i >= 0; i--) {
                ipi_mbox = &pdata->ipi_mboxes[i];
-               if (ipi_mbox->dev.parent) {
-                       if (device_is_registered(&ipi_mbox->dev))
-                               device_unregister(&ipi_mbox->dev);
-               }
+               if (device_is_registered(&ipi_mbox->dev))
+                       device_unregister(&ipi_mbox->dev);
        }
 }