]> www.infradead.org Git - users/hch/misc.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)
committerJassi Brar <jassisinghbrar@gmail.com>
Mon, 6 Oct 2025 23:14:00 +0000 (18:14 -0500)
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>
drivers/mailbox/zynqmp-ipi-mailbox.c

index 263a3413a8c7f476ac98c1bbd76788b4ca24d4d2..bdcc6937ee30932e6b471fc8c0a2cb04221e4542 100644 (file)
@@ -893,10 +893,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);
        }
 }