Thanks Greg, On Thu, 2025-02-13 at 12:56 +0100, Greg Kroah-Hartman wrote: > At a quick glance, tcpci_register_port() is called earlier in the > function, but when you error out here you did not call > tcpci_unregister_port(). What else needs to also be unwound? This driver manages everything using devres, including calling of tcpci_unregister_port() via devres: ret = devm_add_action_or_reset(&client->dev, max_tcpci_unregister_tcpci_port, chip->tcpci); is done just after tcpci_register_port(). As far as I can see nothing needs to be unwound explicitly. Cheers, Andre'