Re: [PATCH net-next v2] net: lan966x: Fix lan966x_ifh_get
From: patchwork-bot+netdevbpf
Date: Mon Apr 17 2023 - 05:10:25 EST
Hello:
This patch was applied to netdev/net-next.git (main)
by David S. Miller <davem@xxxxxxxxxxxxx>:
On Mon, 17 Apr 2023 09:26:41 +0200 you wrote:
> From time to time, it was observed that the nanosecond part of the
> received timestamp, which is extracted from the IFH, it was actually
> bigger than 1 second. So then when actually calculating the full
> received timestamp, based on the nanosecond part from IFH and the second
> part which is read from HW, it was actually wrong.
>
> The issue seems to be inside the function lan966x_ifh_get, which
> extracts information from an IFH(which is an byte array) and returns the
> value in a u64. When extracting the timestamp value from the IFH, which
> starts at bit 192 and have the size of 32 bits, then if the most
> significant bit was set in the timestamp, then this bit was extended
> then the return value became 0xffffffff... . And the reason of this is
> because constants without any postfix are treated as signed longs and
> that is the reason why '1 << 31' becomes 0xffffffff80000000.
> This is fixed by adding the postfix 'ULL' to 1.
>
> [...]
Here is the summary with links:
- [net-next,v2] net: lan966x: Fix lan966x_ifh_get
https://git.kernel.org/netdev/net-next/c/99676a576641
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html