master/slave.c
changeset 409 bc4c852e1b93
parent 404 7f7f429e13c7
child 410 3b8e94d623ab
--- a/master/slave.c	Tue Oct 17 14:37:46 2006 +0000
+++ b/master/slave.c	Tue Oct 17 14:50:04 2006 +0000
@@ -182,7 +182,6 @@
     ec_sii_pdo_t *pdo, *next_pdo;
     ec_sii_pdo_entry_t *entry, *next_ent;
     ec_sdo_t *sdo, *next_sdo;
-    ec_sdo_entry_t *en, *next_en;
     ec_sdo_data_t *sdodata, *next_sdodata;
 
     slave = container_of(kobj, ec_slave_t, kobj);
@@ -222,14 +221,8 @@
     // free all SDOs
     list_for_each_entry_safe(sdo, next_sdo, &slave->sdo_dictionary, list) {
         list_del(&sdo->list);
-        if (sdo->name) kfree(sdo->name);
-
-        // free all SDO entries
-        list_for_each_entry_safe(en, next_en, &sdo->entries, list) {
-            list_del(&en->list);
-            kfree(en);
-        }
-        kfree(sdo);
+        kobject_del(&sdo->kobj);
+        kobject_put(&sdo->kobj);
     }
 
     // free all SDO configurations