Messages in this thread | | | Subject | Re: [PATCH net-next v2] net: lan966x: Fix lan966x_ifh_get | From | patchwork-bot+netdevbpf@kernel ... | Date | Mon, 17 Apr 2023 09:10:18 +0000 |
| |
Hello:
This patch was applied to netdev/net-next.git (main) by David S. Miller <davem@davemloft.net>:
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
| |