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
| ||
|
Date: Mon, 8 Nov 2021 10:57:48 +0100 From: Martin Kaistra <martin.kaistra@...utronix.de> To: Florian Fainelli <f.fainelli@...il.com> Cc: Richard Cochran <richardcochran@...il.com>, Vladimir Oltean <olteanv@...il.com>, "David S. Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>, John Stultz <john.stultz@...aro.org>, Thomas Gleixner <tglx@...utronix.de>, Stephen Boyd <sboyd@...nel.org>, Russell King <linux@...linux.org.uk>, Marc Kleine-Budde <mkl@...gutronix.de>, linux-kernel@...r.kernel.org, netdev@...r.kernel.org, Andrew Lunn <andrew@...n.ch>, Vivien Didelot <vivien.didelot@...il.com> Subject: Re: [PATCH 6/7] net: dsa: b53: Add logic for TX timestamping Am 06.11.21 um 03:50 schrieb Florian Fainelli: > > > On 11/4/2021 6:32 AM, Martin Kaistra wrote: >> In order to get the switch to generate a timestamp for a transmitted >> packet, we need to set the TS bit in the BRCM tag. The switch will then >> create a status frame, which gets send back to the cpu. >> In b53_port_txtstamp() we put the skb into a waiting position. >> >> When a status frame is received, we extract the timestamp and put the >> time >> according to our timecounter into the waiting skb. When >> TX_TSTAMP_TIMEOUT is reached and we have no means to correctly get back >> a full timestamp, we cancel the process. >> >> As the status frame doesn't contain a reference to the original packet, >> only one packet with timestamp request can be sent at a time. >> >> Signed-off-by: Martin Kaistra <martin.kaistra@...utronix.de> >> --- > > [snip] > >> +static long b53_hwtstamp_work(struct ptp_clock_info *ptp) >> +{ >> + struct b53_device *dev = >> + container_of(ptp, struct b53_device, ptp_clock_info); >> + struct dsa_switch *ds = dev->ds; >> + int i; >> + >> + for (i = 0; i < ds->num_ports; i++) { >> + struct b53_port_hwtstamp *ps; >> + >> + if (!dsa_is_user_port(ds, i)) >> + continue; > > Can you also check on !dsa_port_is_unused()? After the currently implemented check, dp->type should be DSA_PORT_TYPE_USER, so it can't be DSA_PORT_TYPE_UNUSED, right? Thanks, Martin
Powered by blists - more mailing lists