On 31/10/2024 12:08, Krzysztof Kozlowski wrote: > On 30/10/2024 16:46, Javier Carrasco wrote: >> Switch to a more robust approach by automating the node release when it >> goes out of scope, removing the need for explicit calls to >> of_node_put(). >> >> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@xxxxxxxxx> >> --- >> drivers/bluetooth/btbcm.c | 8 ++------ >> 1 file changed, 2 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c >> index 400c2663d6b0..a1153ada74d2 100644 >> --- a/drivers/bluetooth/btbcm.c >> +++ b/drivers/bluetooth/btbcm.c >> @@ -541,23 +541,19 @@ static const struct bcm_subver_table bcm_usb_subver_table[] = { >> static const char *btbcm_get_board_name(struct device *dev) >> { >> #ifdef CONFIG_OF >> - struct device_node *root; >> + struct device_node *root __free(device_node) = of_find_node_by_path("/"); >> char *board_type; >> const char *tmp; >> >> - root = of_find_node_by_path("/"); >> if (!root) >> return NULL; >> >> - if (of_property_read_string_index(root, "compatible", 0, &tmp)) { >> - of_node_put(root); > > You just added this. Don't add code which is immediately removed. It's a > noop or wrong code. > > > > Best regards, > Krzysztof > Exactly, I added that code to fix the issue in stable kernels that don't support the __free() macro, and then I removed it to use a safer approach from now on. Best regards, Javier Carrasco