]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/edac/edac_mc_sysfs.c
oom: do not dump task state for non thread group leaders
[linux-2.6-omap-h63xx.git] / drivers / edac / edac_mc_sysfs.c
index cbe1a17e42f76d0a3b3011e35c48ff5feea466cc..ad218fe4942dfcf258273ee22f56776f3a0b23c2 100644 (file)
@@ -178,7 +178,11 @@ static ssize_t csrow_edac_mode_show(struct csrow_info *csrow, char *data,
 static ssize_t channel_dimm_label_show(struct csrow_info *csrow,
                                char *data, int channel)
 {
-       return snprintf(data, EDAC_MC_LABEL_LEN, "%s",
+       /* if field has not been initialized, there is nothing to send */
+       if (!csrow->channels[channel].label[0])
+               return 0;
+
+       return snprintf(data, EDAC_MC_LABEL_LEN, "%s\n",
                        csrow->channels[channel].label);
 }
 
@@ -645,7 +649,7 @@ static struct kobj_type ktype_mci = {
 /* EDAC memory controller sysfs kset:
  *     /sys/devices/system/edac/mc
  */
-static struct kset mc_kset;
+static struct kset *mc_kset;
 
 /*
  * edac_mc_register_sysfs_main_kobj
@@ -676,7 +680,7 @@ int edac_mc_register_sysfs_main_kobj(struct mem_ctl_info *mci)
        }
 
        /* this instance become part of the mc_kset */
-       kobj_mci->kset = &mc_kset;
+       kobj_mci->kset = mc_kset;
 
        /* register the mc<id> kobject to the mc_kset */
        err = kobject_init_and_add(kobj_mci, &ktype_mci, NULL,
@@ -906,12 +910,9 @@ int edac_sysfs_setup_mc_kset(void)
        }
 
        /* Init the MC's kobject */
-       kobject_set_name(&mc_kset.kobj, "mc");
-       mc_kset.kobj.parent = &edac_class->kset.kobj;
-
-       /* register the mc_kset */
-       err = kset_register(&mc_kset);
-       if (err) {
+       mc_kset = kset_create_and_add("mc", NULL, &edac_class->kset.kobj);
+       if (!mc_kset) {
+               err = -ENOMEM;
                debugf1("%s() Failed to register '.../edac/mc'\n", __func__);
                goto fail_out;
        }
@@ -933,6 +934,6 @@ fail_out:
  */
 void edac_sysfs_teardown_mc_kset(void)
 {
-       kset_unregister(&mc_kset);
+       kset_unregister(mc_kset);
 }