> -----Original Message----- > From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx> > Sent: Thursday, July 1, 2021 12:06 PM > To: Tamseel Shams <m.shams@xxxxxxxxxxx>; gregkh@xxxxxxxxxxxxxxxxxxx; > jirislaby@xxxxxxxxxx > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-samsung-soc@xxxxxxxxxxxxxxx; > linux-serial@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > alim.akhtar@xxxxxxxxxxx > Subject: Re: [PATCH v2] serial: samsung: Checks the return value of function > > On 30/06/2021 15:33, Tamseel Shams wrote: > > "uart_add_one_port" function call may fail and return some error code, > > so adding a check for return value. > > If it is returning some error code, then displaying the result, > > unregistering the driver and then returning from probe function with > > error code. > > > > Signed-off-by: Tamseel Shams <m.shams@xxxxxxxxxxx> > > --- > > Changes since v1: > > 1. Added support to unregister driver on failure of "uart_add_onr_port" > > function call. > > 2. Commit message updated. > > > > drivers/tty/serial/samsung_tty.c | 11 ++++++++++- > > 1 file changed, 10 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/tty/serial/samsung_tty.c > > b/drivers/tty/serial/samsung_tty.c > > index 9fbc61151c2e..188e2d2da201 100644 > > --- a/drivers/tty/serial/samsung_tty.c > > +++ b/drivers/tty/serial/samsung_tty.c > > @@ -2253,7 +2253,11 @@ static int s3c24xx_serial_probe(struct > platform_device *pdev) > > } > > > > dev_dbg(&pdev->dev, "%s: adding port\n", __func__); > > - uart_add_one_port(&s3c24xx_uart_drv, &ourport->port); > > + ret = uart_add_one_port(&s3c24xx_uart_drv, &ourport->port); > > + if (ret < 0) { > > + dev_err(&pdev->dev, "Failed to add uart port, err %d\n", ret); > > + goto add_port_error; > > + } > > platform_set_drvdata(pdev, &ourport->port); > > > > /* > > @@ -2272,6 +2276,11 @@ static int s3c24xx_serial_probe(struct > platform_device *pdev) > > probe_index++; > > > > return 0; > > + > > +add_port_error: > > You did not unwind fully s3c24xx_serial_init_port() - clocks. > Hi Krzysztof, Yeah, missed the unwinding of clocks. Will fix this in next version. Thanks & Regards, Tamseel Shams