Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0435b13e authored by Sebastien Bourdelin's avatar Sebastien Bourdelin Committed by Ralf Baechle
Browse files

MIPS: APRP: Fix an issue when device_create() fails.



If a call to device_create() fails for a channel during the initialize
loop, we need to clean the devices entries already created before
leaving.

Signed-off-by: default avatarSebastien Bourdelin <sebastien.bourdelin@savoirfairelinux.com>
Cc: linux-mips@linux-mips.org
Cc: Steven J. Hill <Steven.Hill@imgtec.com>
Cc: Deng-Cheng Zhu <dengcheng.zhu@imgtec.com>
Cc: John Crispin <blogic@openwrt.org>
Cc: Qais Yousef <Qais.Yousef@imgtec.com>
Cc: linux-kernel@vger.kernel.org
Cc: Jerome Oufella <jerome.oufella@savoirfairelinux.com>
Patchwork: https://patchwork.linux-mips.org/patch/7111/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent ffc8415a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -77,6 +77,9 @@ int __init rtlx_module_init(void)
		dev = device_create(mt_class, NULL, MKDEV(major, i), NULL,
				    "%s%d", RTLX_MODULE_NAME, i);
		if (IS_ERR(dev)) {
			while (i--)
				device_destroy(mt_class, MKDEV(major, i));

			err = PTR_ERR(dev);
			goto out_chrdev;
		}
+3 −0
Original line number Diff line number Diff line
@@ -103,6 +103,9 @@ int __init rtlx_module_init(void)
		dev = device_create(mt_class, NULL, MKDEV(major, i), NULL,
				    "%s%d", RTLX_MODULE_NAME, i);
		if (IS_ERR(dev)) {
			while (i--)
				device_destroy(mt_class, MKDEV(major, i));

			err = PTR_ERR(dev);
			goto out_chrdev;
		}