ptp: ocp: have adjtime handle negative delta_ns correctly
authorJonathan Lemon <jonathan.lemon@gmail.com>
Fri, 13 May 2022 22:52:31 +0000 (15:52 -0700)
committerJakub Kicinski <kuba@kernel.org>
Mon, 16 May 2022 20:07:46 +0000 (13:07 -0700)
commitda2172a9bfec858ceeb0271b9d444378490398c8
tree418bb6e59adf98dc47abb9b67452e2167cb5cb43
parent4d42d54a7d6aa6d29221d3fd4f2ae9503e94f011
ptp: ocp: have adjtime handle negative delta_ns correctly

delta_ns is a s64, but it was being passed ptp_ocp_adjtime_coarse
as an u64.  Also, it turns out that timespec64_add_ns() only handles
positive values, so perform the math with set_normalized_timespec().

Fixes: 90f8f4c0e3ce ("ptp: ocp: Add ptp_ocp_adjtime_coarse for large adjustments")
Suggested-by: Vadim Fedorenko <vfedorenko@novek.ru>
Signed-off-by: Jonathan Lemon <jonathan.lemon@gmail.com>
Acked-by: Vadim Fedorenko <vfedorenko@novek.ru>
Link: https://lore.kernel.org/r/20220513225231.1412-1-jonathan.lemon@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/ptp/ptp_ocp.c