equal
deleted
inserted
replaced
1432 } |
1432 } |
1433 |
1433 |
1434 data.index = req->index; |
1434 data.index = req->index; |
1435 data.subindex = req->subindex; |
1435 data.subindex = req->subindex; |
1436 data.size = req->data_size; |
1436 data.size = req->data_size; |
1437 memcpy(&data.data, req->data, min((u32) data.size, (u32) 4)); |
1437 memcpy(&data.data, req->data, |
|
1438 min((u32) data.size, (u32) EC_MAX_SDO_DATA_SIZE)); |
1438 |
1439 |
1439 up(&master->master_sem); |
1440 up(&master->master_sem); |
1440 |
1441 |
1441 if (copy_to_user((void __user *) arg, &data, sizeof(data))) |
1442 if (copy_to_user((void __user *) arg, &data, sizeof(data))) |
1442 return -EFAULT; |
1443 return -EFAULT; |
2118 return -ENOENT; |
2119 return -ENOENT; |
2119 } |
2120 } |
2120 |
2121 |
2121 up(&master->master_sem); // FIXME |
2122 up(&master->master_sem); // FIXME |
2122 |
2123 |
2123 ret = ecrt_slave_config_sdo(sc, data.index, data.subindex, sdo_data, |
2124 if (data.complete_access) { |
2124 data.size); |
2125 ret = ecrt_slave_config_complete_sdo(sc, data.index, sdo_data, data.size); |
|
2126 } else { |
|
2127 ret = ecrt_slave_config_sdo(sc, data.index, data.subindex, sdo_data, |
|
2128 data.size); |
|
2129 } |
2125 kfree(sdo_data); |
2130 kfree(sdo_data); |
2126 return ret; |
2131 return ret; |
2127 } |
2132 } |
2128 |
2133 |
2129 /*****************************************************************************/ |
2134 /*****************************************************************************/ |