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
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <24676d24-5b07-7d26-6ffa-14e857960a52@gmail.com>
Date:   Wed, 9 Nov 2016 09:07:08 -0800
From:   Florian Fainelli <f.fainelli@...il.com>
To:     Sebastian Frias <sf84@...oste.net>, afleming@...escale.com,
        jgarzik@...ox.com,
        Måns Rullgård <mans@...sr.com>
Cc:     netdev <netdev@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>,
        "David S. Miller" <davem@...emloft.net>
Subject: Re: Is Documentation/networking/phy.txt still up-to-date?

On 11/09/2016 05:24 AM, Sebastian Frias wrote:
> Hi,
> 
> Documentation/networking/phy.txt discusses phy_connect and states that:
> 
>  "...
> 
>  interface is a u32 which specifies the connection type used
>  between the controller and the PHY.  Examples are GMII, MII,
>  RGMII, and SGMII.  For a full list, see include/linux/phy.h
> 
>  Now just make sure that phydev->supported and phydev->advertising have any
>  values pruned from them which don't make sense for your controller (a 10/100
>  controller may be connected to a gigabit capable PHY, so you would need to
>  mask off SUPPORTED_1000baseT*).  See include/linux/ethtool.h for definitions
>  for these bitfields. Note that you should not SET any bits, or the PHY may
>  get put into an unsupported state.
> 
>  ..."
> 
> However, 'drivers/net/ethernet/aurora/nb8800.c' for example, does SETs some
> bits (in function 'nb8800_pause_adv').

All pause/flow control related bits should be set by the Ethernet MAC
driver because this is an Ethernet MAC, not PHY, thing. See this
discussion for some details:

https://www.mail-archive.com/netdev@vger.kernel.org/msg135347.html

So the nb8800 drivers does the correct thing here, but the documentation
should be updated to reflect that this applies to all bits, except the
Pause capabilities because these need to come from the Ethernet MAC.

> 
> I checked 'drivers/net/ethernet/broadcom/genet/bcmmii.c' and that one CLEARs
> bits (as per the documentation).
> 
> Does anybody knows what is the correct/recommended approach?

Both drivers do correct things, they just don't set the same things here.
-- 
Florian

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ