master/cdev.c
changeset 1948 fa1c4fb0a8da
parent 1947 024a3c6aa3f7
child 1952 7d9fb723fc4b
equal deleted inserted replaced
1947:024a3c6aa3f7 1948:fa1c4fb0a8da
   879 
   879 
   880     data.abort_code = request.req.abort_code;
   880     data.abort_code = request.req.abort_code;
   881 
   881 
   882     if (request.req.state != EC_INT_REQUEST_SUCCESS) {
   882     if (request.req.state != EC_INT_REQUEST_SUCCESS) {
   883         data.data_size = 0;
   883         data.data_size = 0;
   884         retval = -EIO;
   884         if (request.req.errno) {
       
   885             retval = -request.req.errno;
       
   886         } else {
       
   887             retval = -EIO;
       
   888         }
   885     } else {
   889     } else {
   886         if (request.req.data_size > data.target_size) {
   890         if (request.req.data_size > data.target_size) {
   887             EC_MASTER_ERR(master, "Buffer too small.\n");
   891             EC_MASTER_ERR(master, "Buffer too small.\n");
   888             ec_sdo_request_clear(&request.req);
   892             ec_sdo_request_clear(&request.req);
   889             return -EOVERFLOW;
   893             return -EOVERFLOW;
   984 
   988 
   985     EC_SLAVE_DBG(request.slave, 1, "Finished SDO download request.\n");
   989     EC_SLAVE_DBG(request.slave, 1, "Finished SDO download request.\n");
   986 
   990 
   987     data.abort_code = request.req.abort_code;
   991     data.abort_code = request.req.abort_code;
   988 
   992 
   989     retval = request.req.state == EC_INT_REQUEST_SUCCESS ? 0 : -EIO;
   993     if (request.req.state == EC_INT_REQUEST_SUCCESS) {
       
   994         retval = 0;
       
   995     } else if (request.req.errno) {
       
   996         retval = -request.req.errno;
       
   997     } else {
       
   998         retval = -EIO;
       
   999     }
   990 
  1000 
   991     if (__copy_to_user((void __user *) arg, &data, sizeof(data))) {
  1001     if (__copy_to_user((void __user *) arg, &data, sizeof(data))) {
   992         retval = -EFAULT;
  1002         retval = -EFAULT;
   993     }
  1003     }
   994 
  1004