Skip to content

Commit 434f815

Browse files
committed
ASoC: codecs: wcd93xx: fix OF node leaks on probe
Merge series from Johan Hovold <johan@kernel.org>: The original wcd938x driver has a couple of OF node reference leaks which have been reproduced in the two later added drivers.
2 parents 9b30ceb + 3ef4d9e commit 434f815

3 files changed

Lines changed: 4 additions & 6 deletions

File tree

sound/soc/codecs/wcd937x.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2841,7 +2841,7 @@ static int wcd937x_add_slave_components(struct wcd937x_priv *wcd937x,
28412841
dev_err(dev, "Couldn't parse phandle to qcom,rx-device!\n");
28422842
return -ENODEV;
28432843
}
2844-
of_node_get(wcd937x->rxnode);
2844+
28452845
component_match_add_release(dev, matchptr, component_release_of,
28462846
component_compare_of, wcd937x->rxnode);
28472847

@@ -2850,7 +2850,7 @@ static int wcd937x_add_slave_components(struct wcd937x_priv *wcd937x,
28502850
dev_err(dev, "Couldn't parse phandle to qcom,tx-device\n");
28512851
return -ENODEV;
28522852
}
2853-
of_node_get(wcd937x->txnode);
2853+
28542854
component_match_add_release(dev, matchptr, component_release_of,
28552855
component_compare_of, wcd937x->txnode);
28562856

sound/soc/codecs/wcd938x.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3464,7 +3464,6 @@ static int wcd938x_add_slave_components(struct wcd938x_priv *wcd938x,
34643464
return -ENODEV;
34653465
}
34663466

3467-
of_node_get(wcd938x->rxnode);
34683467
component_match_add_release(dev, matchptr, component_release_of,
34693468
component_compare_of, wcd938x->rxnode);
34703469

@@ -3473,7 +3472,7 @@ static int wcd938x_add_slave_components(struct wcd938x_priv *wcd938x,
34733472
dev_err(dev, "%s: Tx-device node not defined\n", __func__);
34743473
return -ENODEV;
34753474
}
3476-
of_node_get(wcd938x->txnode);
3475+
34773476
component_match_add_release(dev, matchptr, component_release_of,
34783477
component_compare_of, wcd938x->txnode);
34793478
return 0;

sound/soc/codecs/wcd939x.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3526,7 +3526,6 @@ static int wcd939x_add_slave_components(struct wcd939x_priv *wcd939x,
35263526
return -ENODEV;
35273527
}
35283528

3529-
of_node_get(wcd939x->rxnode);
35303529
component_match_add_release(dev, matchptr, component_release_of,
35313530
component_compare_of, wcd939x->rxnode);
35323531

@@ -3535,7 +3534,7 @@ static int wcd939x_add_slave_components(struct wcd939x_priv *wcd939x,
35353534
dev_err(dev, "%s: Tx-device node not defined\n", __func__);
35363535
return -ENODEV;
35373536
}
3538-
of_node_get(wcd939x->txnode);
3537+
35393538
component_match_add_release(dev, matchptr, component_release_of,
35403539
component_compare_of, wcd939x->txnode);
35413540
return 0;

0 commit comments

Comments
 (0)