master/fsm.c
changeset 484 9fde4a17b820
parent 478 322fab6b085b
child 505 bc443ca0077f
equal deleted inserted replaced
483:1a507e9ab735 484:9fde4a17b820
   273                 ec_master_destroy_slaves(master);
   273                 ec_master_destroy_slaves(master);
   274                 fsm->master_state = ec_fsm_master_error;
   274                 fsm->master_state = ec_fsm_master_error;
   275                 return;
   275                 return;
   276             }
   276             }
   277 
   277 
   278             if (kobject_add(&slave->kobj)) {
       
   279                 EC_ERR("Failed to add kobject.\n");
       
   280                 kobject_put(&slave->kobj); // free
       
   281                 ec_master_destroy_slaves(master);
       
   282                 fsm->master_state = ec_fsm_master_error;
       
   283                 return;
       
   284             }
       
   285 
       
   286             list_add_tail(&slave->list, &master->slaves);
   278             list_add_tail(&slave->list, &master->slaves);
   287         }
   279         }
   288 
   280 
   289         EC_INFO("Scanning bus.\n");
   281         EC_INFO("Scanning bus.\n");
   290 
   282 
   384                 || slave->error_flag) continue;
   376                 || slave->error_flag) continue;
   385 
   377 
   386             if (master->debug_level) {
   378             if (master->debug_level) {
   387                 EC_DBG("Fetching SDO dictionary from slave %i.\n",
   379                 EC_DBG("Fetching SDO dictionary from slave %i.\n",
   388                        slave->ring_position);
   380                        slave->ring_position);
   389             }
       
   390 
       
   391             if (kobject_add(&slave->sdo_kobj)) {
       
   392                 EC_ERR("Failed to add SDO kobj of slave %i.\n",
       
   393                        slave->ring_position);
       
   394                 slave->error_flag = 1;
       
   395                 fsm->master_state = ec_fsm_master_error;
       
   396                 return;
       
   397             }
   381             }
   398 
   382 
   399             slave->sdo_dictionary_fetched = 1;
   383             slave->sdo_dictionary_fetched = 1;
   400 
   384 
   401             // start fetching SDO dictionary
   385             // start fetching SDO dictionary