lkml.org 
[lkml]   [2020]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 18/61] net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration
    Date
    From: Sergey Organov <sorganov@gmail.com>

    [ Upstream commit 473309fb8372365ad211f425bca760af800e10a7 ]

    >From Documentation/networking/timestamping.txt:

    A driver which supports hardware time stamping shall update the
    struct with the actual, possibly more permissive configuration.

    Do update the struct passed when we upscale the requested time
    stamping mode.

    Fixes: cb646e2b02b2 ("ptp: Added a clock driver for the National Semiconductor PHYTER.")
    Signed-off-by: Sergey Organov <sorganov@gmail.com>
    Acked-by: Richard Cochran <richardcochran@gmail.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/phy/dp83640.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c
    index 7e94526de51c3..5649cc075ccbb 100644
    --- a/drivers/net/phy/dp83640.c
    +++ b/drivers/net/phy/dp83640.c
    @@ -1337,6 +1337,7 @@ static int dp83640_hwtstamp(struct phy_device *phydev, struct ifreq *ifr)
    dp83640->hwts_rx_en = 1;
    dp83640->layer = PTP_CLASS_L4;
    dp83640->version = PTP_CLASS_V1;
    + cfg.rx_filter = HWTSTAMP_FILTER_PTP_V1_L4_EVENT;
    break;
    case HWTSTAMP_FILTER_PTP_V2_L4_EVENT:
    case HWTSTAMP_FILTER_PTP_V2_L4_SYNC:
    @@ -1344,6 +1345,7 @@ static int dp83640_hwtstamp(struct phy_device *phydev, struct ifreq *ifr)
    dp83640->hwts_rx_en = 1;
    dp83640->layer = PTP_CLASS_L4;
    dp83640->version = PTP_CLASS_V2;
    + cfg.rx_filter = HWTSTAMP_FILTER_PTP_V2_L4_EVENT;
    break;
    case HWTSTAMP_FILTER_PTP_V2_L2_EVENT:
    case HWTSTAMP_FILTER_PTP_V2_L2_SYNC:
    @@ -1351,6 +1353,7 @@ static int dp83640_hwtstamp(struct phy_device *phydev, struct ifreq *ifr)
    dp83640->hwts_rx_en = 1;
    dp83640->layer = PTP_CLASS_L2;
    dp83640->version = PTP_CLASS_V2;
    + cfg.rx_filter = HWTSTAMP_FILTER_PTP_V2_L2_EVENT;
    break;
    case HWTSTAMP_FILTER_PTP_V2_EVENT:
    case HWTSTAMP_FILTER_PTP_V2_SYNC:
    @@ -1358,6 +1361,7 @@ static int dp83640_hwtstamp(struct phy_device *phydev, struct ifreq *ifr)
    dp83640->hwts_rx_en = 1;
    dp83640->layer = PTP_CLASS_L4 | PTP_CLASS_L2;
    dp83640->version = PTP_CLASS_V2;
    + cfg.rx_filter = HWTSTAMP_FILTER_PTP_V2_EVENT;
    break;
    default:
    return -ERANGE;
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-07-30 10:11    [W:3.049 / U:1.908 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site