From: Josua Mayer <josua@solid-run.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Jiri Pirko <jiri@resnulli.us>,
Florian Fainelli <f.fainelli@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] net: dsa: mv88e6xxx: add warning for truncated mdio bus id
Date: Thu, 21 Mar 2024 15:54:59 +0000 [thread overview]
Message-ID: <597f2189-b719-41cf-8d2f-eaf26c91622e@solid-run.com> (raw)
In-Reply-To: <37af3d75-68dd-41ea-b97e-7ce020ebaa8c@lunn.ch>
Am 21.03.24 um 16:10 schrieb Andrew Lunn:
> On Thu, Mar 21, 2024 at 10:26:54AM +0000, Josua Mayer wrote:
>> Am 20.03.24 um 19:57 schrieb Andrew Lunn:
>>>> With separators ('!') we have:
>>>> cp0!config-space@f2000000!mdio@12a200!ethernet-switch@4!mdio
>>>> cp0!config-space@f2000000!mdio@12a200!ethernet-switch@4!mdio-external
>>>> Truncated to MII_BUS_ID_SIZE:
>>>> cp0!config-space@f2000000!mdio@12a200!ethernet-switch@4!mdi
>>>> cp0!config-space@f2000000!mdio@12a200!ethernet-switch@4!mdi
>>> This has been made worse by the DT maintainers wanting
>>> ethernet-switch@4, not switch@4. And i guess config-space was also
>>> something shorter in the past.
>>>
>>> I think your idea of cropping from the beginning, not the end, is in
>>> general a good solution. However, is there any danger of
>>>
>>> cp0!config-space@f2000000!mdio@12a200!ethernet-switch@4!mdio-external
>>>
>>> and
>>>
>>> cp1!config-space@f2000000!mdio@12a200!ethernet-switch@4!mdio-external
>> Since these will appear as links in /sys/bus/mdio_bus/devices,
>> this danger exists.
>> If the prefix is too similar, we can run into duplicates also when
>> cropping from the front.
>>
>> So we could crop at the front and reduce likelihood of this situation,
>> but (imo) should still print a warning since it is not working as intended.
> The problem with a warning is, what do you tell people who ask how to
> fix the warning? Hack your device tree to short the node names?
>
> A warning is best done when there is something which can be done to
> fix the problem. If it is not fixable, it is just noise.
Well, one option is making a future case for increasing MII_BUS_ID_SIZE.
>
>>> Another option would be if the name needs to be truncated, use the
>>> fallback as if there was no np:
>>>
>>> bus->name = "mv88e6xxx SMI";
>>> snprintf(bus->id, MII_BUS_ID_SIZE, "mv88e6xxx-%d", index++);
>>>
>>> That at least gives you unique names.
>> This ensures a unique suffix within a branch of device-tree.
>> It could still collide with same structure on a cp1 or cp2.
> static int mv88e6xxx_mdio_register(struct mv88e6xxx_chip *chip,
> struct device_node *np,
> bool external)
> {
> static int index;
> struct mv88e6xxx_mdio_bus *mdio_bus;
> struct mii_bus *bus;
> int err;
>
> index is static,
Good point!
> so it is simply a counter. So you should get the
> names mv88e6xxx-0, mv88e6xxx-1, mv88e6xxx-2, mv88e6xxx-3...
This could work as a fall-back within mv88e6xxx driver.
Alternatively - how about having a generic helper somewhere (not sure where)
which can add a marker and use a global counter?
E.g. appending "!...-%d"
Across the tree I found 39 instances of
"snprintf(bus->id, "
prev parent reply other threads:[~2024-03-21 15:55 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-20 13:48 [PATCH] net: dsa: mv88e6xxx: add warning for truncated mdio bus id Josua Mayer
2024-03-20 14:09 ` Jiri Pirko
2024-03-20 14:33 ` Josua Mayer
2024-03-20 15:13 ` Florian Fainelli
2024-03-20 16:28 ` Josua Mayer
2024-03-20 16:03 ` Jiri Pirko
2024-03-20 16:41 ` Josua Mayer
2024-03-20 18:57 ` Andrew Lunn
2024-03-21 10:26 ` Josua Mayer
2024-03-21 15:10 ` Andrew Lunn
2024-03-21 15:54 ` Josua Mayer [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=597f2189-b719-41cf-8d2f-eaf26c91622e@solid-run.com \
--to=josua@solid-run.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.