usb: typec: tipd: Move tps6598x_disconnect error path to its own label
authorSven Peter <sven@svenpeter.dev>
Mon, 14 Nov 2022 17:44:49 +0000 (18:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Nov 2022 16:29:41 +0000 (17:29 +0100)
While the code currently correctly calls tps6598x_disconnect before jumping
to the error cleanup label it's inconsistent compared to all the other cleanup
actions and prone to introduce bugs if any more resources are added.

Signed-off-by: Sven Peter <sven@svenpeter.dev>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20221114174449.34634-4-sven@svenpeter.dev
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/tipd/core.c

index 195c9c1..982bd2c 100644 (file)
@@ -837,16 +837,16 @@ static int tps6598x_probe(struct i2c_client *client)
                                        irq_handler,
                                        IRQF_SHARED | IRQF_ONESHOT,
                                        dev_name(&client->dev), tps);
-       if (ret) {
-               tps6598x_disconnect(tps, 0);
-               goto err_unregister_port;
-       }
+       if (ret)
+               goto err_disconnect;
 
        i2c_set_clientdata(client, tps);
        fwnode_handle_put(fwnode);
 
        return 0;
 
+err_disconnect:
+       tps6598x_disconnect(tps, 0);
 err_unregister_port:
        typec_unregister_port(tps->port);
 err_role_put: