master/fsm_coe.c
changeset 962 ea83a7aab57a
parent 926 6bb33c6ec770
child 975 dae04112bcc7
equal deleted inserted replaced
961:8aa60dd6cbc7 962:ea83a7aab57a
   687         ec_print_data(data, rec_size);
   687         ec_print_data(data, rec_size);
   688         fsm->state = ec_fsm_coe_error;
   688         fsm->state = ec_fsm_coe_error;
   689         return;
   689         return;
   690     }
   690     }
   691 
   691 
   692     sdo->subindices = EC_READ_U8(data + 10);
   692     sdo->max_subindex = EC_READ_U8(data + 10);
   693     sdo->object_code = EC_READ_U8(data + 11);
   693     sdo->object_code = EC_READ_U8(data + 11);
   694 
   694 
   695     name_size = rec_size - 12;
   695     name_size = rec_size - 12;
   696     if (name_size) {
   696     if (name_size) {
   697         if (!(sdo->name = kmalloc(name_size + 1, GFP_ATOMIC))) {
   697         if (!(sdo->name = kmalloc(name_size + 1, GFP_ATOMIC))) {
   936         entry->description = desc;
   936         entry->description = desc;
   937     }
   937     }
   938 
   938 
   939     list_add_tail(&entry->list, &sdo->entries);
   939     list_add_tail(&entry->list, &sdo->entries);
   940 
   940 
   941     if (fsm->subindex < sdo->subindices) {
   941     if (fsm->subindex < sdo->max_subindex) {
   942         fsm->subindex++;
   942         fsm->subindex++;
   943 
   943 
   944         if (!(data = ec_slave_mbox_prepare_send(slave, datagram, 0x03, 10))) {
   944         if (!(data = ec_slave_mbox_prepare_send(slave, datagram, 0x03, 10))) {
   945             fsm->state = ec_fsm_coe_error;
   945             fsm->state = ec_fsm_coe_error;
   946             return;
   946             return;