Skip to content

Commit

Permalink
ptp: fix error print of ptp_kvm on X86_64 platform
Browse files Browse the repository at this point in the history
Commit a86ed2c ("ptp: Don't print an error if ptp_kvm is not supported")
fixes the error message print on ARM platform by only concerning about
the case that the error returned from kvm_arch_ptp_init() is not -EOPNOTSUPP.
Although the ARM platform returns -EOPNOTSUPP if ptp_kvm is not supported
while X86_64 platform returns -KVM_EOPNOTSUPP, both error codes share the
same value 95.

Actually kvm_arch_ptp_init() on X86_64 platform can return three kinds of
errors (-KVM_ENOSYS, -KVM_EOPNOTSUPP and -KVM_EFAULT). The problem is that
-KVM_EOPNOTSUPP is masked out and -KVM_EFAULT is ignored among them.
This patch fixes this by returning them to ptp_kvm_init() respectively.

Signed-off-by: Kele Huang <huangkele@bytedance.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Kele Huang authored and David S. Miller committed Oct 15, 2021
1 parent ec681c5 commit c2402d4
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/ptp/ptp_kvm_x86.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ int kvm_arch_ptp_init(void)

ret = kvm_hypercall2(KVM_HC_CLOCK_PAIRING, clock_pair_gpa,
KVM_CLOCK_PAIRING_WALLCLOCK);
if (ret == -KVM_ENOSYS || ret == -KVM_EOPNOTSUPP)
if (ret == -KVM_ENOSYS)
return -ENODEV;

return 0;
return ret;
}

int kvm_arch_ptp_get_clock(struct timespec64 *ts)
Expand Down

0 comments on commit c2402d4

Please sign in to comment.