Messages in this thread Patch in this message |  | | From | Michal Simek <> | Subject | [PATCH v2] usb: misc: usb3503: Fix logic in usb3503_init() | Date | Tue, 9 Feb 2021 13:32:19 +0100 |
| |
Based on https://lore.kernel.org/linux-arm-kernel/YCJv59g3Tq2haDSa@kroah.com/ initialization should fail if any registration fails.
Signed-off-by: Michal Simek <michal.simek@xilinx.com> ---
Changes in v2: - Also remove i2c driver when platform driver registration failed.
drivers/usb/misc/usb3503.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/misc/usb3503.c b/drivers/usb/misc/usb3503.c index 48099c6bf04c..330f494cd158 100644 --- a/drivers/usb/misc/usb3503.c +++ b/drivers/usb/misc/usb3503.c @@ -409,13 +409,18 @@ 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); + i2c_del_driver(&usb3503_i2c_driver); + return err; + } return 0; } -- 2.30.0
|  |