... > @@ -1361,6 +1373,9 @@ static ssize_t governor_store(struct device *dev, struct device_attribute *attr, > goto out; > } > > + remove_sysfs_files(df, df->governor); > + create_sysfs_files(df, governor); > + > prev_governor = df->governor; > df->governor = governor; > strncpy(df->governor_name, governor->name, DEVFREQ_NAME_LEN); > @@ -1460,39 +1475,6 @@ static ssize_t target_freq_show(struct device *dev, > } The further code may revert df->governor to the prev_governor or set it to NULL. The create_sysfs_files(df->governor) should be invoked at the very end of the governor_store() and only in a case of success.