diff options
author | Kele Huang <huangkele@bytedance.com> | 2021-10-14 05:19:52 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-10-15 12:19:25 +0200 |
commit | c2402d43d183b11445aed921e7bebcd47ef222f1 (patch) | |
tree | 5071158717127e2afeca51fecb1052e4f3d45f4d /drivers/ptp/ptp_kvm_x86.c | |
parent | Merge tag 'net-5.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/net... (diff) | |
download | linux-c2402d43d183b11445aed921e7bebcd47ef222f1.tar.xz linux-c2402d43d183b11445aed921e7bebcd47ef222f1.zip |
ptp: fix error print of ptp_kvm on X86_64 platform
Commit a86ed2cfa13c5 ("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>
Diffstat (limited to 'drivers/ptp/ptp_kvm_x86.c')
-rw-r--r-- | drivers/ptp/ptp_kvm_x86.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ptp/ptp_kvm_x86.c b/drivers/ptp/ptp_kvm_x86.c index d0096cd7096a..4991054a2135 100644 --- a/drivers/ptp/ptp_kvm_x86.c +++ b/drivers/ptp/ptp_kvm_x86.c @@ -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) |