bus: fsl-mc: do not add a device-link for the UAPI used DPMCP device
authorIoana Ciornei <ioana.ciornei@nxp.com>
Tue, 8 Apr 2025 10:58:10 +0000 (13:58 +0300)
committerChristophe Leroy <christophe.leroy@csgroup.eu>
Mon, 12 May 2025 23:34:57 +0000 (01:34 +0200)
commitdd7d8e012b23de158ca0188239c7a1f2a83b4484
tree71858bd6b210fe07ea1d33dfbe9f75396b1073cb
parentd694bf8a9acdbd061596f3e7549bc8cb70750a60
bus: fsl-mc: do not add a device-link for the UAPI used DPMCP device

The fsl-mc bus associated to the root DPRC in a DPAA2 system exports a
device file for userspace access to the MC firmware. In case the DPRC's
local MC portal (DPMCP) is currently in use, a new DPMCP device is
allocated through the fsl_mc_portal_allocate() function.

In this case, the call to fsl_mc_portal_allocate() will fail with -EINVAL
when trying to add a device link between the root DPRC (consumer) and
the newly allocated DPMCP device (supplier). This is because the DPMCP
is a dependent of the DPRC device (the bus).

Fix this by not adding a device link in case the DPMCP is allocated for
the root DPRC's usage.

Fixes: afb77422819f ("bus: fsl-mc: automatically add a device_link on fsl_mc_[portal,object]_allocate")
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250408105814.2837951-3-ioana.ciornei@nxp.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
drivers/bus/fsl-mc/mc-io.c