mirror of
https://gitlab.com/etherlab.org/ethercat.git
synced 2026-02-05 19:39:50 +08:00
Use -ENOBUFS to indicate insufficient preallocated buffer
This commit is contained in:
@@ -2079,7 +2079,7 @@ ec_request_state_t ecrt_sdo_request_state(
|
||||
* \ingroup ApplicationInterfaceRT
|
||||
* \return 0 on success, otherwise negative error code.
|
||||
* \retval -EINVAL Invalid input data, e.g. data size == 0.
|
||||
* \retval -ENOMEM Reserved memory in ecrt_slave_config_create_sdo_request()
|
||||
* \retval -ENOBUFS Reserved memory in ecrt_slave_config_create_sdo_request()
|
||||
* too small.
|
||||
*/
|
||||
EC_PUBLIC_API int ecrt_sdo_request_write(
|
||||
@@ -2220,7 +2220,7 @@ EC_PUBLIC_API ec_request_state_t ecrt_soe_request_state(
|
||||
* \ingroup ApplicationInterfaceRT
|
||||
* \return 0 on success, otherwise negative error code.
|
||||
* \retval -EINVAL Invalid input data, e.g. data size == 0.
|
||||
* \retval -ENOMEM Reserved memory in ecrt_slave_config_create_soe_request()
|
||||
* \retval -ENOBUFS Reserved memory in ecrt_slave_config_create_soe_request()
|
||||
* too small.
|
||||
*/
|
||||
EC_PUBLIC_API int ecrt_soe_request_write(
|
||||
@@ -2342,6 +2342,8 @@ EC_PUBLIC_API size_t ecrt_voe_handler_data_size(
|
||||
*
|
||||
* \ingroup ApplicationInterfaceRT
|
||||
* \return 0 on success, otherwise negative error code.
|
||||
* \retval -ENOBUFS Reserved memory in ecrt_slave_config_create_voe_handler
|
||||
* too small.
|
||||
*/
|
||||
EC_PUBLIC_API int ecrt_voe_handler_write(
|
||||
ec_voe_handler_t *voe, /**< VoE handler. */
|
||||
@@ -2473,6 +2475,8 @@ ec_request_state_t ecrt_reg_request_state(
|
||||
*
|
||||
* \ingroup ApplicationInterfaceRT
|
||||
* \return 0 on success, otherwise negative error code.
|
||||
* \retval -ENOBUFS Reserved memory in ecrt_slave_config_create_reg_request
|
||||
* too small.
|
||||
*/
|
||||
EC_PUBLIC_API int ecrt_reg_request_write(
|
||||
ec_reg_request_t *req, /**< Register request. */
|
||||
@@ -2493,6 +2497,8 @@ EC_PUBLIC_API int ecrt_reg_request_write(
|
||||
*
|
||||
* \ingroup ApplicationInterfaceRT
|
||||
* \return 0 on success, otherwise negative error code.
|
||||
* \retval -ENOBUFS Reserved memory in ecrt_slave_config_create_reg_request
|
||||
* too small.
|
||||
*/
|
||||
EC_PUBLIC_API int ecrt_reg_request_read(
|
||||
ec_reg_request_t *req, /**< Register request. */
|
||||
|
||||
@@ -1309,7 +1309,7 @@ void ec_fsm_coe_down_start(
|
||||
if (slave->configured_rx_mailbox_size <
|
||||
EC_MBOX_HEADER_SIZE + EC_COE_DOWN_REQ_HEADER_SIZE) {
|
||||
EC_SLAVE_ERR(slave, "Mailbox too small!\n");
|
||||
request->errno = EOVERFLOW;
|
||||
request->errno = ENOBUFS;
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
return;
|
||||
}
|
||||
@@ -2463,7 +2463,7 @@ void ec_fsm_coe_up_seg_response(
|
||||
EC_SLAVE_ERR(slave, "SDO upload 0x%04X:%02X failed: Fragment"
|
||||
" exceeding complete size!\n",
|
||||
request->index, request->subindex);
|
||||
request->errno = EOVERFLOW;
|
||||
request->errno = ENOBUFS;
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3626,7 +3626,7 @@ static ATTRIBUTES int ec_ioctl_sdo_request_write(
|
||||
}
|
||||
|
||||
if (data.size > req->mem_size)
|
||||
return -ENOMEM;
|
||||
return -ENOBUFS;
|
||||
|
||||
if (ec_copy_from_user(req->data, (void __user *) data.data,
|
||||
data.size, ctx))
|
||||
@@ -3870,7 +3870,7 @@ static ATTRIBUTES int ec_ioctl_soe_request_write(
|
||||
}
|
||||
|
||||
if (data.size > req->mem_size)
|
||||
return -ENOMEM;
|
||||
return -ENOBUFS;
|
||||
|
||||
if (ec_copy_from_user(req->data, (void __user *) data.data,
|
||||
data.size, ctx))
|
||||
@@ -4048,7 +4048,7 @@ static ATTRIBUTES int ec_ioctl_reg_request_write(
|
||||
}
|
||||
|
||||
if (io.transfer_size > reg->mem_size) {
|
||||
return -EOVERFLOW;
|
||||
return -ENOBUFS;
|
||||
}
|
||||
|
||||
if (ec_copy_from_user(reg->data, (void __user *) io.data,
|
||||
@@ -4095,7 +4095,7 @@ static ATTRIBUTES int ec_ioctl_reg_request_read(
|
||||
}
|
||||
|
||||
if (io.transfer_size > reg->mem_size) {
|
||||
return -EOVERFLOW;
|
||||
return -ENOBUFS;
|
||||
}
|
||||
|
||||
return ecrt_reg_request_read(reg, io.address, io.transfer_size);
|
||||
@@ -4306,7 +4306,7 @@ static ATTRIBUTES int ec_ioctl_voe_write(
|
||||
|
||||
if (data.size) {
|
||||
if (data.size > ec_voe_handler_mem_size(voe))
|
||||
return -EOVERFLOW;
|
||||
return -ENOBUFS;
|
||||
|
||||
if (ec_copy_from_user(ecrt_voe_handler_data(voe),
|
||||
(void __user *) data.data, data.size, ctx))
|
||||
@@ -4482,7 +4482,7 @@ static ATTRIBUTES int ec_ioctl_slave_foe_read(
|
||||
if (request.data_size > io.buffer_size) {
|
||||
EC_SLAVE_ERR(slave, "%s(): Buffer too small.\n", __func__);
|
||||
ec_foe_request_clear(&request);
|
||||
return -EOVERFLOW;
|
||||
return -ENOBUFS;
|
||||
}
|
||||
io.data_size = request.data_size;
|
||||
if (copy_to_user((void __user *) io.buffer,
|
||||
|
||||
@@ -60,7 +60,7 @@ uint8_t *ec_slave_mbox_prepare_send(const ec_slave_t *slave, /**< slave */
|
||||
if (unlikely(total_size > slave->configured_rx_mailbox_size)) {
|
||||
EC_SLAVE_ERR(slave, "Data size (%zu) does not fit in mailbox (%u)!\n",
|
||||
total_size, slave->configured_rx_mailbox_size);
|
||||
return ERR_PTR(-EOVERFLOW);
|
||||
return ERR_PTR(-ENOBUFS);
|
||||
}
|
||||
|
||||
ret = ec_datagram_fpwr(datagram, slave->station_address,
|
||||
|
||||
@@ -3092,7 +3092,7 @@ int ecrt_master_sdo_upload(ec_master_t *master, uint16_t slave_position,
|
||||
} else {
|
||||
if (request.data_size > target_size) {
|
||||
EC_SLAVE_ERR(slave, "%s(): Buffer too small.\n", __func__);
|
||||
ret = -EOVERFLOW;
|
||||
ret = -ENOBUFS;
|
||||
}
|
||||
else {
|
||||
memcpy(target, request.data, request.data_size);
|
||||
@@ -3250,7 +3250,7 @@ int ecrt_master_read_idn(ec_master_t *master, uint16_t slave_position,
|
||||
} else { // success
|
||||
if (request.data_size > target_size) {
|
||||
EC_SLAVE_ERR(slave, "%s(): Buffer too small.\n", __func__);
|
||||
ret = -EOVERFLOW;
|
||||
ret = -ENOBUFS;
|
||||
}
|
||||
else { // data fits in buffer
|
||||
if (result_size) {
|
||||
|
||||
Reference in New Issue
Block a user