.. caution::
    For :ref:`memory-to-memory devices <mem2mem>` you can use requests only for
    output buffers, not for capture buffers. Attempting to add a capture buffer
-   to a request will result in an ``EACCES`` error.
+   to a request will result in an ``EBADR`` error.
 
 If the request contains configurations for multiple entities, individual drivers
 may synchronize so the requested pipeline's topology is applied before the
 
        Applications should not set ``V4L2_BUF_FLAG_REQUEST_FD`` for any ioctls
        other than :ref:`VIDIOC_QBUF <VIDIOC_QBUF>`.
 
-       If the device does not support requests, then ``EACCES`` will be returned.
+       If the device does not support requests, then ``EBADR`` will be returned.
        If requests are supported but an invalid request file descriptor is
        given, then ``EINVAL`` will be returned.
 
 
 until the request itself is queued. Also, the driver will apply any
 settings associated with the request for this buffer. This field will
 be ignored unless the ``V4L2_BUF_FLAG_REQUEST_FD`` flag is set.
-If the device does not support requests, then ``EACCES`` will be returned.
+If the device does not support requests, then ``EBADR`` will be returned.
 If requests are supported but an invalid request file descriptor is given,
 then ``EINVAL`` will be returned.
 
 
    For :ref:`memory-to-memory devices <mem2mem>` you can specify the
    ``request_fd`` only for output buffers, not for capture buffers. Attempting
-   to specify this for a capture buffer will result in an ``EACCES`` error.
+   to specify this for a capture buffer will result in an ``EBADR`` error.
 
 Applications call the ``VIDIOC_DQBUF`` ioctl to dequeue a filled
 (capturing) or displayed (output) buffer from the driver's outgoing
     codecs if a buffer with the ``V4L2_BUF_FLAG_LAST`` was already
     dequeued and no new buffers are expected to become available.
 
-EACCES
-    The ``V4L2_BUF_FLAG_REQUEST_FD`` flag was set but the device does not
-    support requests for the given buffer type.
-
 EBADR
-    The ``V4L2_BUF_FLAG_REQUEST_FD`` flag was not set but the device requires
+    The ``V4L2_BUF_FLAG_REQUEST_FD`` flag was set but the device does not
+    support requests for the given buffer type, or
+    the ``V4L2_BUF_FLAG_REQUEST_FD`` flag was not set but the device requires
     that the buffer is part of a request.
 
 EBUSY
 
                return 0;
        } else if (!q->supports_requests) {
                dprintk(1, "%s: queue does not support requests\n", opname);
-               return -EACCES;
+               return -EBADR;
        } else if (q->uses_qbuf) {
                dprintk(1, "%s: queue does not use requests\n", opname);
                return -EBUSY;
 
 
        if (!mdev || !mdev->ops ||
            !mdev->ops->req_validate || !mdev->ops->req_queue)
-               return ERR_PTR(-EACCES);
+               return ERR_PTR(-EBADR);
 
        filp = fget(request_fd);
        if (!filp)
        int ret = -EBUSY;
 
        if (WARN_ON(!ops->release))
-               return -EACCES;
+               return -EBADR;
 
        spin_lock_irqsave(&req->lock, flags);
 
 
  * Get the request represented by @request_fd that is owned
  * by the media device.
  *
- * Return a -EACCES error pointer if requests are not supported
+ * Return a -EBADR error pointer if requests are not supported
  * by this driver. Return -EINVAL if the request was not found.
  * Return the pointer to the request if found: the caller will
  * have to call @media_request_put when it finished using the
 static inline struct media_request *
 media_request_get_by_fd(struct media_device *mdev, int request_fd)
 {
-       return ERR_PTR(-EACCES);
+       return ERR_PTR(-EBADR);
 }
 
 #endif