Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e0638fa4 authored by Lixin Wang's avatar Lixin Wang Committed by Wolfram Sang
Browse files

i2c: core: decrease reference count of device node in i2c_unregister_device



Reference count of device node was increased in of_i2c_register_device,
but without decreasing it in i2c_unregister_device. Then the added
device node will never be released. Fix this by adding the of_node_put.

Signed-off-by: default avatarLixin Wang <alan.1.wang@nokia-sbell.com>
Tested-by: default avatarWolfram Sang <wsa@the-dreams.de>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
Cc: stable@kernel.org
parent a8750ddc
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -821,8 +821,12 @@ void i2c_unregister_device(struct i2c_client *client)
{
	if (!client)
		return;
	if (client->dev.of_node)

	if (client->dev.of_node) {
		of_node_clear_flag(client->dev.of_node, OF_POPULATED);
		of_node_put(client->dev.of_node);
	}

	if (ACPI_COMPANION(&client->dev))
		acpi_device_clear_enumerated(ACPI_COMPANION(&client->dev));
	device_unregister(&client->dev);