lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <05a159af-6689-70db-9506-09059a09f1a5@gmail.com> Date: Fri, 26 May 2017 17:33:49 -0700 From: Florian Fainelli <f.fainelli@...il.com> To: Woojung.Huh@...rochip.com, netdev@...r.kernel.org Cc: davem@...emloft.net, andrew@...n.ch Subject: Re: [PATCH net-next 1/3] net: phy: Create sysfs reciprocal links for attached_dev/phydev On 05/26/2017 05:20 PM, Woojung.Huh@...rochip.com wrote: >> OK, I am confused now. You are describing what is going on with your >> platform right? Can you describe a bit further here what is happening >> and with which type of interface? Is this with the CPU interface or >> something? > > Yes. It's on our platform. > Like your platform, fixed phy is used to connect switch CPU port/master netdev. > GMAC of SoC is cadence/macb.c with fixed phy modification. > > static int macb_mii_probe(struct net_device *dev) > { > ... > phydev = phy_find_first(bp->mii_bus); > if (!phydev) { > phydev = fixed_phy_register(PHY_POLL, &fphy_status, -1, NULL); > if (IS_ERR(phydev)) { > netdev_err(dev, "no PHY found\n"); > return -ENXIO; > }> } > ... > When failed to find phydev from phy_find_first(), it forces to fixed phy. > ... > /* attach the mac to the phy */ > ret = phy_connect_direct(dev, phydev, &macb_handle_link_change, > bp->phy_interface); > > sysfs_create_lin() inside of phy_connect_direct() fails. OK, so here is what is happening: macb_mii_init() calls macb_mii_probe() and so by the time we call phy_connect_direct(), we have not called register_netdevice() yet, netdev_register_kobject() has not been called either, and so sysfs_create_link() fails.... Let me think about a way to solve that, even though I am leaning towards ignoring the errors from sysfs_create_link() rather than fixing each and every Ethernet driver to make it probe its MII bus *after* calling register_netdevice().... > > What is driver you are testing? I can check the file. Drivers involved are the following: drivers/net/ethernet/broadcom/bcmsysport.c, drivers/net/dsa/bcm_sf2.c drivers/net/ethernet/broadcom/genet/ drivers/net/phy/bcm7xxx.c -- Florian
Powered by blists - more mailing lists