Skip to content

Commit 44b11a5

Browse files
author
Al Viro
committed
convert media_request_get_by_fd()
the only thing done after fdput() (in failure cases) is a printk; safely transposable with fdput()... Reviewed-by: Christian Brauner <[email protected]> Signed-off-by: Al Viro <[email protected]>
1 parent 00ec41a commit 44b11a5

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

drivers/media/mc/mc-request.c

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -246,22 +246,21 @@ static const struct file_operations request_fops = {
246246
struct media_request *
247247
media_request_get_by_fd(struct media_device *mdev, int request_fd)
248248
{
249-
struct fd f;
250249
struct media_request *req;
251250

252251
if (!mdev || !mdev->ops ||
253252
!mdev->ops->req_validate || !mdev->ops->req_queue)
254253
return ERR_PTR(-EBADR);
255254

256-
f = fdget(request_fd);
257-
if (!fd_file(f))
258-
goto err_no_req_fd;
255+
CLASS(fd, f)(request_fd);
256+
if (fd_empty(f))
257+
goto err;
259258

260259
if (fd_file(f)->f_op != &request_fops)
261-
goto err_fput;
260+
goto err;
262261
req = fd_file(f)->private_data;
263262
if (req->mdev != mdev)
264-
goto err_fput;
263+
goto err;
265264

266265
/*
267266
* Note: as long as someone has an open filehandle of the request,
@@ -272,14 +271,9 @@ media_request_get_by_fd(struct media_device *mdev, int request_fd)
272271
* before media_request_get() is called.
273272
*/
274273
media_request_get(req);
275-
fdput(f);
276-
277274
return req;
278275

279-
err_fput:
280-
fdput(f);
281-
282-
err_no_req_fd:
276+
err:
283277
dev_dbg(mdev->dev, "cannot find request_fd %d\n", request_fd);
284278
return ERR_PTR(-EINVAL);
285279
}

0 commit comments

Comments
 (0)