@@ -29,6 +29,8 @@
#include <linux/workqueue.h>
#include <linux/power_supply.h>
+#include "mux.h"
+
#define TCPC_ADDRESS1 0x58
#define TCPC_ADDRESS2 0x56
#define TCPC_ADDRESS3 0x54
@@ -1094,6 +1096,7 @@ static void anx7411_unregister_mux(struct anx7411_data *ctx)
{
if (ctx->typec.typec_mux) {
typec_mux_unregister(ctx->typec.typec_mux);
+ fwnode_handle_put(ctx->typec.typec_mux->dev.fwnode);
ctx->typec.typec_mux = NULL;
}
}
@@ -1102,6 +1105,7 @@ static void anx7411_unregister_switch(struct anx7411_data *ctx)
{
if (ctx->typec.typec_switch) {
typec_switch_unregister(ctx->typec.typec_switch);
+ fwnode_handle_put(ctx->typec.typec_switch->dev.fwnode);
ctx->typec.typec_switch = NULL;
}
}
The refcounts of the OF nodes obtained in by of_get_child_by_name() calls in anx7411_typec_switch_probe() are not decremented, so add fwnode_handle_put() calls to anx7411_unregister_switch() and anx7411_unregister_mux(). Fixes: e45d7337dc0e ("usb: typec: anx7411: Use of_get_child_by_name() instead of of_find_node_by_name()") Cc: stable@vger.kernel.org Signed-off-by: Joe Hattori <joe@pf.is.s.u-tokyo.ac.jp> --- Changed in v2: - Add the Cc: stable@vger.kernel.org tag. --- drivers/usb/typec/anx7411.c | 4 ++++ 1 file changed, 4 insertions(+)