Re: [PATCH v1] driver core: Fix device link device name collision

From: Greg Kroah-Hartman
Date: Thu Jan 07 2021 - 04:00:14 EST


On Wed, Jan 06, 2021 at 03:26:41PM -0800, Saravana Kannan wrote:
> The device link device's name was of the form:
> <supplier-dev-name>--<consumer-dev-name>
>
> This can cause name collision as reported here [1] as device names are
> not globally unique. Since device names have to be unique within the
> bus/class, add the bus/class name as a prefix to the device names used to
> construct the device link device name.
>
> So the devuce link device's name will be of the form:
> <supplier-bus-name>:<supplier-dev-name>--<consumer-bus-name><consumer-dev-name>

Minor nit, you forgot a ':' in the consumer side of the link here. The
code is correct.

>
> [1] - https://lore.kernel.org/lkml/20201229033440.32142-1-michael@xxxxxxxx/
> Reported-by: Michael Walle <michael@xxxxxxxx>
> Signed-off-by: Saravana Kannan <saravanak@xxxxxxxxxx>
> ---
>
> Michael,
>
> Can you please test this? This should fix your issue.
>
> Having said that, do you have some local DT changes when you are testing
> this? Because it's not obvious from the DT in upstream what dependency
> is even being derived from the firmware. I don't see any dependency in
> upstream DT files between mdio_bus/0000:00:00.1 and
> pci0000:00/0000:00:00.1

That looks really odd, why is the mdio bus using the same names as the
pci bus?

But anyway, your dev_bus_name() change here looks good, I'll take that
as a separate patch no matter what happens here :)

thanks,

greg k-h