2020-07-15 16:14:29

by Sergey Organov

[permalink] [raw]
Subject: [PATCH net] net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration

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 <[email protected]>
---
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 ecbd5e0d685c..acb0aae60755 100644
--- a/drivers/net/phy/dp83640.c
+++ b/drivers/net/phy/dp83640.c
@@ -1260,6 +1260,7 @@ static int dp83640_hwtstamp(struct mii_timestamper *mii_ts, 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:
@@ -1267,6 +1268,7 @@ static int dp83640_hwtstamp(struct mii_timestamper *mii_ts, 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:
@@ -1274,6 +1276,7 @@ static int dp83640_hwtstamp(struct mii_timestamper *mii_ts, 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:
@@ -1281,6 +1284,7 @@ static int dp83640_hwtstamp(struct mii_timestamper *mii_ts, 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.10.0.1.g57b01a3


2020-07-16 18:57:30

by Richard Cochran

[permalink] [raw]
Subject: Re: [PATCH net] net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration

On Wed, Jul 15, 2020 at 07:10:00PM +0300, Sergey Organov wrote:
> 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 <[email protected]>

Acked-by: Richard Cochran <[email protected]>

2020-07-16 20:35:30

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH net] net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration

On Thu, 16 Jul 2020 11:56:50 -0700 Richard Cochran wrote:
> On Wed, Jul 15, 2020 at 07:10:00PM +0300, Sergey Organov wrote:
> > 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 <[email protected]>
>
> Acked-by: Richard Cochran <[email protected]>

Applied, thank you!