From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Holger_Hoffst=c3=a4tte?= Subject: Re: Regression in 4.19 net/phy/realtek: garbled sysfs output Date: Thu, 25 Oct 2018 11:29:34 +0200 Message-ID: <7d9dd587-3ccf-b496-6af9-e106f2f9d126@applied-asynchrony.com> References: <5e989478-0d33-cd05-efa7-fe3ec54856ab@applied-asynchrony.com> <20181024201219.GB19440@lunn.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Cc: Netdev , Jassi Brar , "David S. Miller" , Heiner Kallweit To: Andrew Lunn Return-path: Received: from mail02.iobjects.de ([188.40.134.68]:55554 "EHLO mail02.iobjects.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726637AbeJYSBb (ORCPT ); Thu, 25 Oct 2018 14:01:31 -0400 In-Reply-To: <20181024201219.GB19440@lunn.ch> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 10/24/18 22:12, Andrew Lunn wrote: > On Wed, Oct 24, 2018 at 09:36:02PM +0200, Holger Hoffstätte wrote: >> Hi, >> >> Since 4.19 r8169 depends on phylib: >> >> $lsmod | grep r8169 >> r8169 81920 0 >> libphy 57344 2 r8169,realtek >> >> Unfortunately this now gives me the following sysfs error: >> >> $cd /sys/module/realtek/drivers >> $ls -l >> ls: cannot access 'mdio_bus:RTL8201F 10/100Mbps Ethernet': No such file or directory >> total 0 >> lrwxrwxrwx 1 root root 0 Oct 24 21:09 'mdio_bus:RTL8201CP Ethernet' -> '../../../bus/mdio_bus/drivers/RTL8201CP Ethernet' >> l????????? ? ? ? ? ? 'mdio_bus:RTL8201F 10/100Mbps Ethernet' >> lrwxrwxrwx 1 root root 0 Oct 24 21:09 'mdio_bus:RTL8211 Gigabit Ethernet' -> '../../../bus/mdio_bus/drivers/RTL8211 Gigabit Ethernet' >> [..] >> >> Apparently the forward slash in "10/100Mbps Ethernet" is interpreted as >> directory separator that leads nowhere, and was introduced in commit >> 513588dd44b ("net: phy: realtek: add RTL8201F phy-id and functions"). >> >> Would it be acceptable to change the name simply to "RTL8201F Ethernet"? > > Hi Holger > > Or use "RTL8201F Fast Ethernet" Yes, even better since it's correct. :) As expected changing the name .name entry fixes the sysfs behaviour. diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c index 7fc8508b5..271e8adc3 100644 --- a/drivers/net/phy/realtek.c +++ b/drivers/net/phy/realtek.c @@ -220,7 +220,7 @@ static struct phy_driver realtek_drvs[] = { .flags = PHY_HAS_INTERRUPT, }, { .phy_id = 0x001cc816, - .name = "RTL8201F 10/100Mbps Ethernet", + .name = "RTL8201F Fast Ethernet", .phy_id_mask = 0x001fffff, .features = PHY_BASIC_FEATURES, .flags = PHY_HAS_INTERRUPT, > I wonder if other drivers have similar problems? > > davicom.c: .name = "Davicom DM9161B/C", > intel-xway.c: .name = "Intel XWAY PHY11G (PEF 7071/PEF 7072) v1.3", > intel-xway.c: .name = "Intel XWAY PHY11G (PEF 7071/PEF 7072) v1.4", > intel-xway.c: .name = "Intel XWAY PHY11G (PEF 7071/PEF 7072) v1.5 / v1.6", > intel-xway.c: .name = "Intel XWAY PHY22F (PEF 7061) v1.5 / v1.6", > smsc.c: .name = "SMSC LAN8710/LAN8720", I'm open to suggestions about how to rename those identifiers. "|" seems to work but IMHO looks a bit weird: "Davicom DM9161B/C" -> "Davicom DM9161B|C" "(PEF 7071/PEF 7072) v1.5 / v1.6" -> "(PEF 7071|7072) v1.5|6" We can go full regex, which will probably get me voted off the island: "(PEF 7071/PEF 7072) v1.5 / v1.6" -> "(PEF {7071,7072}) v1.{5,6}" Cast your votes now! cheers, Holger