power: fix incorrect unregistration in power_supply_create_attrs error path
In power_supply_create_attrs(), we create static attributes as referenced by power_supply_static_attrs[i]. After that, if we fail, we unregister via power_supply_static_attrs[psy->properties[i]]. This is incorrect, as psy->properties has absolutely no bearing on static attribs. This patch fixes it to unregister the correct attrib. Another line which was unnecessarily line wrapped is also unwrapped. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
This commit is contained in:
parent
8efe444038
commit
839dc9f105
1 changed files with 2 additions and 4 deletions
|
@ -155,8 +155,7 @@ int power_supply_create_attrs(struct power_supply *psy)
|
|||
&power_supply_attrs[psy->properties[j]]);
|
||||
statics_failed:
|
||||
while (i--)
|
||||
device_remove_file(psy->dev,
|
||||
&power_supply_static_attrs[psy->properties[i]]);
|
||||
device_remove_file(psy->dev, &power_supply_static_attrs[i]);
|
||||
succeed:
|
||||
return rc;
|
||||
}
|
||||
|
@ -166,8 +165,7 @@ void power_supply_remove_attrs(struct power_supply *psy)
|
|||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(power_supply_static_attrs); i++)
|
||||
device_remove_file(psy->dev,
|
||||
&power_supply_static_attrs[i]);
|
||||
device_remove_file(psy->dev, &power_supply_static_attrs[i]);
|
||||
|
||||
for (i = 0; i < psy->num_properties; i++)
|
||||
device_remove_file(psy->dev,
|
||||
|
|
Loading…
Reference in a new issue