diff --git a/master/cdev.c b/master/cdev.c
index 0c1ccac7f446ccda36eb5f29ca548aa81bb03890..42014dd2645090e44d526b7765216f0692f72804 100644
--- a/master/cdev.c
+++ b/master/cdev.c
@@ -3416,6 +3416,7 @@ int ec_cdev_ioctl_slave_soe_write(
     wait_event(request.slave->soe_queue,
             request.req.state != EC_INT_REQUEST_BUSY);
 
+    ioctl.error_code = request.req.error_code;
     retval = request.req.state == EC_INT_REQUEST_SUCCESS ? 0 : -EIO;
 
     if (__copy_to_user((void __user *) arg, &ioctl, sizeof(ioctl))) {