Some kfd ioctls may not be available depending on the kernel version the
user is running, as such we need to report -ENOTTY so userland can
determine the cause of the ioctl failure.

Signed-off-by: Geoffrey McRae <geoffrey.mc...@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
index a2149afa5803..36396b7318e7 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
@@ -3253,8 +3253,10 @@ static long kfd_ioctl(struct file *filep, unsigned int 
cmd, unsigned long arg)
        int retcode = -EINVAL;
        bool ptrace_attached = false;
 
-       if (nr >= AMDKFD_CORE_IOCTL_COUNT)
+       if (nr >= AMDKFD_CORE_IOCTL_COUNT) {
+               retcode = -ENOTTY;
                goto err_i1;
+       }
 
        if ((nr >= AMDKFD_COMMAND_START) && (nr < AMDKFD_COMMAND_END)) {
                u32 amdkfd_size;
@@ -3267,8 +3269,10 @@ static long kfd_ioctl(struct file *filep, unsigned int 
cmd, unsigned long arg)
                        asize = amdkfd_size;
 
                cmd = ioctl->cmd;
-       } else
+       } else {
+               retcode = -ENOTTY;
                goto err_i1;
+       }
 
        dev_dbg(kfd_device, "ioctl cmd 0x%x (#0x%x), arg 0x%lx\n", cmd, nr, 
arg);
 
-- 
2.43.0

Reply via email to