diff --git a/src/intel/dev/virtio/i915_virtio_ccmd.c b/src/intel/dev/virtio/i915_virtio_ccmd.c index bfc8cc5f572..ad482fdf4a5 100644 --- a/src/intel/dev/virtio/i915_virtio_ccmd.c +++ b/src/intel/dev/virtio/i915_virtio_ccmd.c @@ -696,15 +696,15 @@ intel_virtio_prime_handle_to_fd(struct intel_virtio_device *dev, int intel_virtio_ioctl(int fd, unsigned long cmd, void *req) { + int orig_errno = errno; struct intel_virtio_device *dev = fd_to_intel_virtio_device(fd); if (!dev) { + errno = orig_errno; /* this is a real phys device if not bound to virtio */ - return intel_virtio_ioctl_errno(fd, cmd, req); + return ioctl(fd, cmd, req); } - int orig_errno = errno; - /* * Special case for legacy ioctls that have same NR as extended ioctl * and need to be handled differently.