On Tue, Apr 19, 2022 at 02:54:08PM +0800, Hongyu Xie wrote: > From: Hongyu Xie <xiehongyu1@xxxxxxxxxx> > > pl2303.c doesn't have reset_resume for hibernation. > So needs_binding will be set to 1 duiring hibernation. > usb_forced_unbind_intf will be called, and the port minor > will be released (x in ttyUSBx). Please use the full 72 columns that you are allowed in a changelog text. > It works fine if you have only one USB-to-serial device. > Assume you have 2 USB-to-serial device, nameing A and B. > A gets a smaller minor(ttyUSB0), B gets a bigger one. > And start to hibernate. When your PC is in hibernation, > unplug device A. Then wake up your PC by pressing the > power button. After waking up the whole system, device > B gets ttyUSB0. This will casuse a problem if you were > using those to ports(like opened two minicom process) > before hibernation. > So member reset_resume is needed in usb_serial_driver > pl2303_device. If you want persistent device naming, use the symlinks that udev creates for your for all your serial devices. Never rely on the number of a USB to serial device. > Codes in pl2303_reset_resume are borrowed from pl2303_open. > > As a matter of fact, all driver under drivers/usb/serial > has the same problem except ch341.c. > > Cc: stable@xxxxxxxxxxxxxxx How does this meet the stable kernel rule requirements? It would be a new feature if it were accepted, right? thanks, greg k-h