lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 060/849] ptp: fix error print of ptp_kvm on X86_64 platform
    Date
    From: Kele Huang <huangkele@bytedance.com>

    [ Upstream commit c2402d43d183b11445aed921e7bebcd47ef222f1 ]

    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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/ptp/ptp_kvm_x86.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/ptp/ptp_kvm_x86.c b/drivers/ptp/ptp_kvm_x86.c
    index d0096cd7096a8..4991054a21350 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)
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 03:11    [W:4.288 / U:0.916 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site