Re: [PATCH] drivers: char: scx200_gpio: check return value of cdev_add()

From: Salah Triki
Date: Tue Apr 15 2025 - 11:30:47 EST


On Tue, Apr 15, 2025 at 04:54:38PM +0200, Greg Kroah-Hartman wrote:
> On Mon, Apr 07, 2025 at 05:56:14PM +0100, Salah Triki wrote:
> > Check return value of cdev_add() and in case of error unregister the
> > range of device numbers.
> >
> > Signed-off-by: Salah Triki <salah.triki@xxxxxxxxx>
> > ---
> > drivers/char/scx200_gpio.c | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/char/scx200_gpio.c b/drivers/char/scx200_gpio.c
> > index 700e6affea6f..36efcc828e8e 100644
> > --- a/drivers/char/scx200_gpio.c
> > +++ b/drivers/char/scx200_gpio.c
> > @@ -107,10 +107,14 @@ static int __init scx200_gpio_init(void)
> > }
> >
> > cdev_init(&scx200_gpio_cdev, &scx200_gpio_fileops);
> > - cdev_add(&scx200_gpio_cdev, devid, MAX_PINS);
> > + rc = cdev_add(&scx200_gpio_cdev, devid, MAX_PINS);
> > + if (rc)
> > + goto unregister_chrdev_region;
> >
> > return 0; /* succeed */
> >
> > +unregister_chrdev_region:
> > + unregister_chrdev_region(devid, MAX_PINS);
> > undo_platform_device_add:
> > platform_device_del(pdev);
> > undo_malloc:
> > --
> > 2.43.0
> >
>
> How was this tested?
>

I only compiled it.

ST

> thanks,
>
> greg k-h