Re: [PATCH] usb: misc: usb3503: Fix logic in usb3503_init()

From: Johan Hovold
Date: Tue Feb 09 2021 - 07:04:13 EST


On Tue, Feb 09, 2021 at 12:30:42PM +0100, Michal Simek wrote:
> Based on
> https://lore.kernel.org/linux-arm-kernel/YCJv59g3Tq2haDSa@xxxxxxxxx/
> initialization should fail if any registration fails.
>
> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
> ---
>
> drivers/usb/misc/usb3503.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/misc/usb3503.c b/drivers/usb/misc/usb3503.c
> index 48099c6bf04c..3aae83fbebae 100644
> --- a/drivers/usb/misc/usb3503.c
> +++ b/drivers/usb/misc/usb3503.c
> @@ -409,13 +409,17 @@ static int __init usb3503_init(void)
> int err;
>
> err = i2c_add_driver(&usb3503_i2c_driver);
> - if (err != 0)
> + if (err) {
> pr_err("usb3503: Failed to register I2C driver: %d\n", err);
> + return err;
> + }
>
> err = platform_driver_register(&usb3503_platform_driver);
> - if (err != 0)
> + if (err) {
> pr_err("usb3503: Failed to register platform driver: %d\n",
> err);

You forgot to deregister the i2c driver.

> + return err;
> + }
>
> return 0;
> }

Johan