equal
deleted
inserted
replaced
214 fsm->slave->ring_position); |
214 fsm->slave->ring_position); |
215 fsm->state = ec_fsm_coe_map_state_error; |
215 fsm->state = ec_fsm_coe_map_state_error; |
216 return; |
216 return; |
217 } |
217 } |
218 |
218 |
|
219 if (fsm->request.data_size != sizeof(uint8_t)) { |
|
220 EC_ERR("Invalid data size %u returned when uploading Sdo 0x%04X:%02X " |
|
221 "from slave %u.\n", fsm->request.data_size, |
|
222 fsm->request.index, fsm->request.subindex, |
|
223 fsm->slave->ring_position); |
|
224 fsm->state = ec_fsm_coe_map_state_error; |
|
225 return; |
|
226 } |
219 fsm->sync_subindices = EC_READ_U8(fsm->request.data); |
227 fsm->sync_subindices = EC_READ_U8(fsm->request.data); |
220 |
228 |
221 if (fsm->slave->master->debug_level) |
229 if (fsm->slave->master->debug_level) |
222 EC_DBG(" %u Pdos assigned.\n", fsm->sync_subindices); |
230 EC_DBG(" %u Pdos assigned.\n", fsm->sync_subindices); |
223 |
231 |
278 fsm->slave->ring_position); |
286 fsm->slave->ring_position); |
279 fsm->state = ec_fsm_coe_map_state_error; |
287 fsm->state = ec_fsm_coe_map_state_error; |
280 return; |
288 return; |
281 } |
289 } |
282 |
290 |
|
291 if (fsm->request.data_size != sizeof(uint16_t)) { |
|
292 EC_ERR("Invalid data size %u returned when uploading Sdo 0x%04X:%02X " |
|
293 "from slave %u.\n", fsm->request.data_size, |
|
294 fsm->request.index, fsm->request.subindex, |
|
295 fsm->slave->ring_position); |
|
296 fsm->state = ec_fsm_coe_map_state_error; |
|
297 return; |
|
298 } |
|
299 |
283 if (!(fsm->pdo = (ec_pdo_t *) |
300 if (!(fsm->pdo = (ec_pdo_t *) |
284 kmalloc(sizeof(ec_pdo_t), GFP_KERNEL))) { |
301 kmalloc(sizeof(ec_pdo_t), GFP_KERNEL))) { |
285 EC_ERR("Failed to allocate Pdo.\n"); |
302 EC_ERR("Failed to allocate Pdo.\n"); |
286 fsm->state = ec_fsm_coe_map_state_error; |
303 fsm->state = ec_fsm_coe_map_state_error; |
287 return; |
304 return; |
321 fsm->slave->ring_position); |
338 fsm->slave->ring_position); |
322 fsm->state = ec_fsm_coe_map_state_error; |
339 fsm->state = ec_fsm_coe_map_state_error; |
323 return; |
340 return; |
324 } |
341 } |
325 |
342 |
|
343 if (fsm->request.data_size != sizeof(uint8_t)) { |
|
344 EC_ERR("Invalid data size %u returned when uploading Sdo 0x%04X:%02X " |
|
345 "from slave %u.\n", fsm->request.data_size, |
|
346 fsm->request.index, fsm->request.subindex, |
|
347 fsm->slave->ring_position); |
|
348 fsm->state = ec_fsm_coe_map_state_error; |
|
349 return; |
|
350 } |
326 fsm->pdo_subindices = EC_READ_U8(fsm->request.data); |
351 fsm->pdo_subindices = EC_READ_U8(fsm->request.data); |
327 |
352 |
328 if (fsm->slave->master->debug_level) |
353 if (fsm->slave->master->debug_level) |
329 EC_DBG(" %u Pdo entries mapped.\n", fsm->pdo_subindices); |
354 EC_DBG(" %u Pdo entries mapped.\n", fsm->pdo_subindices); |
330 |
355 |
375 fsm->slave->ring_position); |
400 fsm->slave->ring_position); |
376 fsm->state = ec_fsm_coe_map_state_error; |
401 fsm->state = ec_fsm_coe_map_state_error; |
377 return; |
402 return; |
378 } |
403 } |
379 |
404 |
380 { |
405 if (fsm->request.data_size != sizeof(uint32_t)) { |
|
406 EC_ERR("Invalid data size %u returned when uploading Sdo 0x%04X:%02X " |
|
407 "from slave %u.\n", fsm->request.data_size, |
|
408 fsm->request.index, fsm->request.subindex, |
|
409 fsm->slave->ring_position); |
|
410 fsm->state = ec_fsm_coe_map_state_error; |
|
411 } else { |
381 uint32_t pdo_entry_info; |
412 uint32_t pdo_entry_info; |
382 ec_pdo_entry_t *pdo_entry; |
413 ec_pdo_entry_t *pdo_entry; |
383 |
414 |
384 pdo_entry_info = EC_READ_U32(fsm->request.data); |
415 pdo_entry_info = EC_READ_U32(fsm->request.data); |
385 |
416 |