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

Commit 06299db3 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

[PATCH] USB: fix usb-serial generic initialization



At module load time, if a generic device is found, the tty information
for the device is not set up properly (as the tty structures aren't initialized
yet.)  This can cause big problems for things like udev.  This patch fixes this.

Thanks to Kay Sievers for the original patch for this problem.

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 47900743
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -1297,13 +1297,6 @@ static int __init usb_serial_init(void)
		goto exit_bus;
	}

	/* register the generic driver, if we should */
	result = usb_serial_generic_register(debug);
	if (result < 0) {
		err("%s - registering generic driver failed", __FUNCTION__);
		goto exit_generic;
	}

	usb_serial_tty_driver->owner = THIS_MODULE;
	usb_serial_tty_driver->driver_name = "usbserial";
	usb_serial_tty_driver->devfs_name = "usb/tts/";
@@ -1329,17 +1322,24 @@ static int __init usb_serial_init(void)
		goto exit_tty;
	}

	/* register the generic driver, if we should */
	result = usb_serial_generic_register(debug);
	if (result < 0) {
		err("%s - registering generic driver failed", __FUNCTION__);
		goto exit_generic;
	}

	info(DRIVER_DESC " " DRIVER_VERSION);

	return result;

exit_generic:
	usb_deregister(&usb_serial_driver);

exit_tty:
	tty_unregister_driver(usb_serial_tty_driver);

exit_reg_driver:
	usb_serial_generic_deregister();

exit_generic:
	bus_unregister(&usb_serial_bus_type);

exit_bus: