Skip to content

Commit

Permalink
amdgpu: switch to fdget()
Browse files Browse the repository at this point in the history
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed May 2, 2019
1 parent 79ea35b commit 95ce0bc
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,26 +53,25 @@ static int amdgpu_sched_process_priority_override(struct amdgpu_device *adev,
int fd,
enum drm_sched_priority priority)
{
struct file *filp = fget(fd);
struct fd f = fdget(fd);
struct amdgpu_fpriv *fpriv;
struct amdgpu_ctx *ctx;
uint32_t id;
int r;

if (!filp)
if (!f.file)
return -EINVAL;

r = amdgpu_file_to_fpriv(filp, &fpriv);
r = amdgpu_file_to_fpriv(f.file, &fpriv);
if (r) {
fput(filp);
fdput(f);
return r;
}

idr_for_each_entry(&fpriv->ctx_mgr.ctx_handles, ctx, id)
amdgpu_ctx_priority_override(ctx, priority);

fput(filp);

fdput(f);
return 0;
}

Expand All @@ -81,30 +80,30 @@ static int amdgpu_sched_context_priority_override(struct amdgpu_device *adev,
unsigned ctx_id,
enum drm_sched_priority priority)
{
struct file *filp = fget(fd);
struct fd f = fdget(fd);
struct amdgpu_fpriv *fpriv;
struct amdgpu_ctx *ctx;
int r;

if (!filp)
if (!f.file)
return -EINVAL;

r = amdgpu_file_to_fpriv(filp, &fpriv);
r = amdgpu_file_to_fpriv(f.file, &fpriv);
if (r) {
fput(filp);
fdput(f);
return r;
}

ctx = amdgpu_ctx_get(fpriv, ctx_id);

if (!ctx) {
fput(filp);
fdput(f);
return -EINVAL;
}

amdgpu_ctx_priority_override(ctx, priority);
amdgpu_ctx_put(ctx);
fput(filp);
fdput(f);

return 0;
}
Expand Down

0 comments on commit 95ce0bc

Please sign in to comment.