Commit 0ef1fe4b authored by Zijun Hu's avatar Zijun Hu Committed by Greg Kroah-Hartman
Browse files

char: misc: Fix improper and inaccurate error code returned by misc_init()



misc_init() returns -EIO for __register_chrdev() invocation failure, but:

- -EIO is for I/O error normally, but __register_chrdev() does not do I/O.
- -EIO can not cover various error codes returned by __register_chrdev().

Fix by returning error code of __register_chrdev().

Signed-off-by: default avatarZijun Hu <zijun.hu@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250620-fix_mischar-v1-3-6c2716bbf1fa@oss.qualcomm.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7aecbbdf
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -296,8 +296,8 @@ static int __init misc_init(void)
	if (err)
		goto fail_remove;

	err = -EIO;
	if (__register_chrdev(MISC_MAJOR, 0, MINORMASK + 1, "misc", &misc_fops))
	err = __register_chrdev(MISC_MAJOR, 0, MINORMASK + 1, "misc", &misc_fops);
	if (err < 0)
		goto fail_printk;
	return 0;