Quellcode durchsuchen

iio: adc: ti-ads1015: add missing of_node_put() in ads1015_get_channels_config_of()

When terminating for_each_child_of_node() iteration with
break or return, of_node_put() should be used to prevent
stale device node references from being left behind.

This is detected by Coccinelle semantic patch.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Wei Yongjun vor 9 Jahren
Ursprung
Commit
943bbe743c
1 geänderte Dateien mit 2 neuen und 0 gelöschten Zeilen
  1. 2 0
      drivers/iio/adc/ti-ads1015.c

+ 2 - 0
drivers/iio/adc/ti-ads1015.c

@@ -521,6 +521,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
 			if (pga > 6) {
 				dev_err(&client->dev, "invalid gain on %s\n",
 					node->full_name);
+				of_node_put(node);
 				return -EINVAL;
 			}
 		}
@@ -531,6 +532,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
 				dev_err(&client->dev,
 					"invalid data_rate on %s\n",
 					node->full_name);
+				of_node_put(node);
 				return -EINVAL;
 			}
 		}