Messages in this thread | | | Date | Thu, 21 Apr 2022 18:45:35 +0200 | From | Greg KH <> | Subject | Re: [RESEND PATCH -next] USB: serial: pl2303: implement reset_resume member |
| |
On Tue, Apr 19, 2022 at 02:54:08PM +0800, Hongyu Xie wrote: > From: Hongyu Xie <xiehongyu1@kylinos.cn> > > 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@vger.kernel.org
How does this meet the stable kernel rule requirements? It would be a new feature if it were accepted, right?
thanks,
greg k-h
| |