lkml.org 
[lkml]   [2018]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 289/310] vlan: also check phy_driver ts_info for vlans real device
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Hangbin Liu <liuhangbin@gmail.com>


    [ Upstream commit ec1d8ccb07deaf30fd0508af6755364ac47dc08d ]

    Just like function ethtool_get_ts_info(), we should also consider the
    phy_driver ts_info call back. For example, driver dp83640.

    Fixes: 37dd9255b2f6 ("vlan: Pass ethtool get_ts_info queries to real device.")
    Acked-by: Richard Cochran <richardcochran@gmail.com>
    Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/8021q/vlan_dev.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    --- a/net/8021q/vlan_dev.c
    +++ b/net/8021q/vlan_dev.c
    @@ -29,6 +29,7 @@
    #include <linux/net_tstamp.h>
    #include <linux/etherdevice.h>
    #include <linux/ethtool.h>
    +#include <linux/phy.h>
    #include <net/arp.h>
    #include <net/switchdev.h>

    @@ -658,8 +659,11 @@ static int vlan_ethtool_get_ts_info(stru
    {
    const struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
    const struct ethtool_ops *ops = vlan->real_dev->ethtool_ops;
    + struct phy_device *phydev = vlan->real_dev->phydev;

    - if (ops->get_ts_info) {
    + if (phydev && phydev->drv && phydev->drv->ts_info) {
    + return phydev->drv->ts_info(phydev, info);
    + } else if (ops->get_ts_info) {
    return ops->get_ts_info(vlan->real_dev, info);
    } else {
    info->so_timestamping = SOF_TIMESTAMPING_RX_SOFTWARE |

    \
     
     \ /
      Last update: 2018-04-11 21:10    [W:4.028 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site