equal
deleted
inserted
replaced
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 |